{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/laura/anaconda3/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.\n",
      "  from ._conv import register_converters as _register_converters\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import tensorflow as tf\n",
    "\n",
    "np.random.seed()\n",
    "# tf.set_random_seed()\n",
    "\n",
    "'''\n",
    "CFO Multitap is a net that, given a known preamble, will take in the convolved preamble and estimate the CFO.\n",
    "'''\n",
    "\n",
    "class CFO_Multitap():\n",
    "    def __init__(self, preamble_length = 40, batch_size = 1500, learning_rate = 0.01):           \n",
    "        \n",
    "        # Network variables\n",
    "        self.preamble_length = preamble_length\n",
    "        self.batch_size = batch_size\n",
    "        self.learning_rate = learning_rate\n",
    "        \n",
    "        # Placeholders for training\n",
    "        self.preamble_original = tf.placeholder(tf.float32, [None, self.preamble_length, 2])\n",
    "        self.preamble_convolved = tf.placeholder(tf.float32, [None, self.preamble_length, 2])\n",
    "        self.omega_original = tf.placeholder(tf.float32, [None, 1])\n",
    "        self.preamble_channel = tf.placeholder(tf.float32, [None, self.preamble_length,2])\n",
    "            \n",
    "        ###############\n",
    "        # CFO Estimation using preambles\n",
    "        ###############\n",
    "        preamble_original_cfo = tf.concat([self.preamble_original, self.preamble_convolved], 1)\n",
    "\n",
    "        preamble_original_cfo_flat = tf.contrib.layers.flatten(preamble_original_cfo)\n",
    "\n",
    "        cfo_layer_1 = tf.layers.dense(\n",
    "          preamble_original_cfo_flat, 100, tf.nn.tanh, use_bias=True, name='cfo_layer_1')\n",
    "        cfo_layer_2 = tf.layers.dense(\n",
    "          cfo_layer_1, 100, tf.nn.tanh, use_bias=True, name='cfo_layer_2')\n",
    "        cfo_layer_3 = tf.layers.dense(\n",
    "          cfo_layer_2, 100, activation=tf.nn.tanh, use_bias=True, name='cfo_layer_3')\n",
    "        cfo_layer_4 = tf.layers.dense(\n",
    "          cfo_layer_3, 1, activation=tf.identity, use_bias=True, name='cfo_layer_4')\n",
    "\n",
    "        self.est_omega = cfo_layer_4\n",
    "        \n",
    "        ###############\n",
    "        # CFO Correction on the convolved data\n",
    "        ###############\n",
    "\n",
    "        preamble_cfo_complex = tf.complex(self.preamble_convolved[:,:,0], self.preamble_convolved[:,:,1])\n",
    "        preamble_cfo_complex = tf.expand_dims(preamble_cfo_complex, -1)\n",
    "\n",
    "        # build the rotation matrix\n",
    "        incremented_omega = []\n",
    "        for i in range(preamble_length):\n",
    "            incremented_omega.append(-self.est_omega*i)\n",
    "\n",
    "        rotation_complex = tf.exp(tf.complex(0.0,tf.transpose(incremented_omega, perm=[1,0,2])))\n",
    "        preamble_rotated_complex = tf.multiply(preamble_cfo_complex,rotation_complex)\n",
    "\n",
    "        preamble_rotated = tf.stack([tf.real(preamble_rotated_complex[:,:]), \n",
    "                                     tf.imag(preamble_rotated_complex[:,:])], axis=2)\n",
    "        \n",
    "        self.preamble_cfo_corrected = tf.squeeze(preamble_rotated,-1)\n",
    "        \n",
    "        self.mse_loss = tf.losses.mean_squared_error(self.preamble_channel, self.preamble_cfo_corrected)\n",
    "    \n",
    "    \n",
    "        ###############################################\n",
    "        # Define surrogate loss and optimization tensor\n",
    "        ###############################################\n",
    "        self.surr = tf.losses.mean_squared_error(self.omega_original, self.est_omega)\n",
    "        self.optimizer = tf.train.AdamOptimizer(self.learning_rate)\n",
    "        self.update_op = self.optimizer.minimize(self.surr)\n",
    "\n",
    "        ###############\n",
    "        # Start session\n",
    "        ###############\n",
    "        self.sess = tf.Session()\n",
    "        self.sess.run(tf.global_variables_initializer())\n",
    "            \n",
    "\n",
    "    def test_net(self, preamble_original, preamble_convolved, omega_original, preamble_channel):\n",
    "        \"\"\"\n",
    "        Test net function. Evaluates the session\n",
    "        Inputs:\n",
    "            self.preamble_original, the original preamble that was sent prior to noise, CFO, and channel\n",
    "            self.preamble_convolved, preamble after noise, CFO, and channel\n",
    "            self.data_original, the original data that was sent prior to noise, CFO, and channel\n",
    "            self.data_convolved, data after noise, CFO, and channel\n",
    "            self.channel, channel that is applied to the I and Q of the preamble and data streams\n",
    "        Outputs:\n",
    "            test_cost, error between the data_original and the estimated data\n",
    "        \"\"\"\n",
    "\n",
    "        test_cost, test_omega, test_mse_loss = self.sess.run([self.surr,self.est_omega, self.mse_loss], \n",
    "                                                             feed_dict={\n",
    "                self.preamble_original: preamble_original,\n",
    "                self.preamble_convolved: preamble_convolved,\n",
    "                self.omega_original: omega_original,\n",
    "                self.preamble_channel: preamble_channel\n",
    "        })\n",
    "        \n",
    "        # save the weights from the layers\n",
    "        with tf.variable_scope(\"cfo_layer_1\", reuse=True):\n",
    "            weights_1 = tf.get_variable(\"kernel\").eval(session = self.sess)\n",
    "            bias_1 = tf.get_variable(\"bias\").eval(session = self.sess)\n",
    "        with tf.variable_scope(\"cfo_layer_2\", reuse=True):\n",
    "            weights_2 = tf.get_variable(\"kernel\").eval(session = self.sess)\n",
    "            bias_2 = tf.get_variable(\"bias\").eval(session = self.sess)\n",
    "        with tf.variable_scope(\"cfo_layer_3\", reuse=True):\n",
    "            weights_3 = tf.get_variable(\"kernel\").eval(session = self.sess)\n",
    "            bias_3 = tf.get_variable(\"bias\").eval(session = self.sess)\n",
    "        with tf.variable_scope(\"cfo_layer_4\", reuse=True):\n",
    "            weights_4 = tf.get_variable(\"kernel\").eval(session = self.sess)\n",
    "            bias_4 = tf.get_variable(\"bias\").eval(session = self.sess)\n",
    "                    \n",
    "        return (test_cost,test_omega, test_mse_loss, weights_1, bias_1, weights_2, bias_2, weights_3, bias_3,\n",
    "                 weights_4, bias_4)\n",
    "    \n",
    "            \n",
    "    def train_net(self, preamble_original, preamble_convolved, omega_original, preamble_channel):\n",
    "        \"\"\"\n",
    "        Train net function. Calls self.update_op.\n",
    "        Inputs:\n",
    "            self.preamble_original, the original preamble that was sent prior to noise, CFO, and channel\n",
    "            self.preamble_convolved, preamble after noise, CFO, and channel\n",
    "            self.data_original, the original data that was sent prior to noise, CFO, and channel\n",
    "            self.data_convolved, data after noise, CFO, and channel\n",
    "            self.channel, channel that is applied to the I and Q of the preamble and data streams\n",
    "        Outputs:\n",
    "            train_cost, error between the data_original and the estimated data\n",
    "        \"\"\"\n",
    "\n",
    "        _ , train_cost = self.sess.run([self.update_op, self.surr], feed_dict={\n",
    "                self.preamble_original: preamble_original,\n",
    "                self.preamble_convolved: preamble_convolved,\n",
    "                self.omega_original: omega_original,\n",
    "                self.preamble_channel: preamble_channel\n",
    "        })\n",
    "        \n",
    "        return train_cost\n",
    "    \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import tensorflow as tf\n",
    "\n",
    "np.random.seed()\n",
    "# tf.set_random_seed()\n",
    "\n",
    "'''\n",
    "CFO Multitap is a net that, given a known preamble, will take in the convolved preamble and estimate the CFO.\n",
    "'''\n",
    "\n",
    "class CFO_Multitap_Noise():\n",
    "    def __init__(self, preamble_length = 40, batch_size = 1500, learning_rate = 0.01):           \n",
    "        \n",
    "        # Network variables\n",
    "        self.preamble_length = preamble_length\n",
    "        self.batch_size = batch_size\n",
    "        self.learning_rate = learning_rate\n",
    "        \n",
    "        # Placeholders for training\n",
    "        self.preamble_original = tf.placeholder(tf.float32, [None, self.preamble_length, 2])\n",
    "        self.preamble_convolved = tf.placeholder(tf.float32, [None, self.preamble_length, 2])\n",
    "        self.omega_original = tf.placeholder(tf.float32, [None, 1])\n",
    "        self.preamble_channel = tf.placeholder(tf.float32, [None, self.preamble_length,2])\n",
    "            \n",
    "        ###############\n",
    "        # CFO Estimation using preambles\n",
    "        ###############\n",
    "        preamble_original_cfo = tf.concat([self.preamble_original, self.preamble_convolved], 1)\n",
    "\n",
    "        preamble_original_cfo_flat = tf.contrib.layers.flatten(preamble_original_cfo)\n",
    "\n",
    "        cfo_layer_1 = tf.layers.dense(\n",
    "          preamble_original_cfo_flat, 100, tf.nn.tanh, use_bias=True)\n",
    "        cfo_layer_2 = tf.layers.dense(\n",
    "          cfo_layer_1, 100, tf.nn.tanh, use_bias=True)\n",
    "        cfo_layer_3 = tf.layers.dense(\n",
    "          cfo_layer_2, 100, activation=tf.nn.tanh, use_bias=True)\n",
    "        cfo_layer_4 = tf.layers.dense(\n",
    "          cfo_layer_3, 1, activation=tf.identity, use_bias=True)\n",
    "\n",
    "        self.est_omega = cfo_layer_4\n",
    "        \n",
    "        ###############\n",
    "        # CFO Correction on the convolved data\n",
    "        ###############\n",
    "\n",
    "        preamble_cfo_complex = tf.complex(self.preamble_convolved[:,:,0], self.preamble_convolved[:,:,1])\n",
    "        preamble_cfo_complex = tf.expand_dims(preamble_cfo_complex, -1)\n",
    "\n",
    "        # build the rotation matrix\n",
    "        incremented_omega = []\n",
    "        for i in range(preamble_length):\n",
    "            incremented_omega.append(-self.est_omega*i)\n",
    "\n",
    "        rotation_complex = tf.exp(tf.complex(0.0,tf.transpose(incremented_omega, perm=[1,0,2])))\n",
    "        preamble_rotated_complex = tf.multiply(preamble_cfo_complex,rotation_complex)\n",
    "\n",
    "        preamble_rotated = tf.stack([tf.real(preamble_rotated_complex[:,:]), \n",
    "                                     tf.imag(preamble_rotated_complex[:,:])], axis=2)\n",
    "        \n",
    "        self.preamble_cfo_corrected = tf.squeeze(preamble_rotated,-1)\n",
    "        \n",
    "        self.mse_loss = tf.losses.mean_squared_error(self.preamble_channel, self.preamble_cfo_corrected)\n",
    "    \n",
    "    \n",
    "        ###############################################\n",
    "        # Define surrogate loss and optimization tensor\n",
    "        ###############################################\n",
    "        self.surr = tf.losses.mean_squared_error(self.omega_original, self.est_omega)\n",
    "        self.optimizer = tf.train.AdamOptimizer(self.learning_rate)\n",
    "        self.update_op = self.optimizer.minimize(self.surr)\n",
    "\n",
    "        ###############\n",
    "        # Start session\n",
    "        ###############\n",
    "        self.sess = tf.Session()\n",
    "        self.sess.run(tf.global_variables_initializer())\n",
    "            \n",
    "\n",
    "    def test_net(self, preamble_original, preamble_convolved, omega_original, preamble_channel):\n",
    "        \"\"\"\n",
    "        Test net function. Evaluates the session\n",
    "        Inputs:\n",
    "            self.preamble_original, the original preamble that was sent prior to noise, CFO, and channel\n",
    "            self.preamble_convolved, preamble after noise, CFO, and channel\n",
    "            self.data_original, the original data that was sent prior to noise, CFO, and channel\n",
    "            self.data_convolved, data after noise, CFO, and channel\n",
    "            self.channel, channel that is applied to the I and Q of the preamble and data streams\n",
    "        Outputs:\n",
    "            test_cost, error between the data_original and the estimated data\n",
    "        \"\"\"\n",
    "\n",
    "        test_cost, test_omega, test_mse_loss = self.sess.run([self.surr,self.est_omega, self.mse_loss], \n",
    "                                                             feed_dict={\n",
    "                self.preamble_original: preamble_original,\n",
    "                self.preamble_convolved: preamble_convolved,\n",
    "                self.omega_original: omega_original,\n",
    "                self.preamble_channel: preamble_channel\n",
    "        })\n",
    "        \n",
    "        \n",
    "        \n",
    "        return test_cost,test_omega, test_mse_loss\n",
    "    \n",
    "            \n",
    "    def train_net(self, preamble_original, preamble_convolved, omega_original, preamble_channel):\n",
    "        \"\"\"\n",
    "        Train net function. Calls self.update_op.\n",
    "        Inputs:\n",
    "            self.preamble_original, the original preamble that was sent prior to noise, CFO, and channel\n",
    "            self.preamble_convolved, preamble after noise, CFO, and channel\n",
    "            self.data_original, the original data that was sent prior to noise, CFO, and channel\n",
    "            self.data_convolved, data after noise, CFO, and channel\n",
    "            self.channel, channel that is applied to the I and Q of the preamble and data streams\n",
    "        Outputs:\n",
    "            train_cost, error between the data_original and the estimated data\n",
    "        \"\"\"\n",
    "\n",
    "        _ , train_cost = self.sess.run([self.update_op, self.surr], feed_dict={\n",
    "                self.preamble_original: preamble_original,\n",
    "                self.preamble_convolved: preamble_convolved,\n",
    "                self.omega_original: omega_original,\n",
    "                self.preamble_channel: preamble_channel\n",
    "        })\n",
    "        \n",
    "        return train_cost\n",
    "    \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def data_generation(epochs):\n",
    "    \n",
    "    import numpy as np\n",
    "    import scipy.signal as sig\n",
    "    from numpy import linalg as LA\n",
    "    import matplotlib.pyplot as plt\n",
    "\n",
    "    # Create training and test data for the NN\n",
    "    batch_size = 1500\n",
    "\n",
    "    snr=10\n",
    "\n",
    "    # number of random preambles that will be trained and tested on\n",
    "    num_train=epochs*batch_size\n",
    "    num_test=batch_size\n",
    "\n",
    "    preamble_length = 40\n",
    "    channel_length = 2\n",
    "\n",
    "    # QPSK\n",
    "    preamble_train_orig = np.zeros((num_train,preamble_length,2))\n",
    "    preamble_train_cfo = np.zeros((num_train,preamble_length,2))\n",
    "    preamble_test_channel = np.zeros((num_test,preamble_length,2))\n",
    "    preamble_test_orig = np.zeros((num_test,preamble_length,2))\n",
    "    preamble_test_cfo = np.zeros((num_test,preamble_length,2))\n",
    "    preamble_train_noisy = np.zeros((num_train,preamble_length,2))\n",
    "    preamble_test_noisy = np.zeros((num_test,preamble_length,2))\n",
    "    preamble_train_channel = np.zeros((num_train,preamble_length,2))\n",
    "\n",
    "\n",
    "    # the max value the CFO rate can be \n",
    "    max_omega = 1/100\n",
    "    # the cfo rate is in number of radians turned per sample\n",
    "    omega_train = np.random.uniform(low=-max_omega,high=max_omega, size=((num_train,1)))\n",
    "    omega_test = np.random.uniform(low=-max_omega,high=max_omega, size=((num_test,1)))\n",
    "    \n",
    "    # assume the channel length is the same for imaginary and real\n",
    "    channel_train = np.zeros((num_train,channel_length,2))\n",
    "    channel_test = np.zeros((num_test,channel_length,2))\n",
    "\n",
    "\n",
    "    for i in range(num_train):\n",
    "        # original preamble - known to both TX and RX\n",
    "        preamble_train_orig[i,:,:] = ((2*np.random.randint(2,size=(preamble_length,2)))-1)*np.sqrt(2)/2\n",
    "        \n",
    "        \n",
    "        for k in range(2):\n",
    "            channel_train[i,:,k]=np.random.uniform(0,1,channel_length)\n",
    "#             channel_train[i,:,k]=([1,0])\n",
    "            # normalize power to 1\n",
    "            channel_train[i,:,k] = channel_train[i,:,k]/(np.linalg.norm(channel_train[i,:,k]))\n",
    "            \n",
    "            # apply the channel to the preamble\n",
    "            preamble_train_channel[i,:,k] = sig.convolve(preamble_train_orig[i,:,k], \n",
    "                                                         channel_train[i,:,k], mode='same')\n",
    "        \n",
    "        \n",
    "        # rotate data according to cfo\n",
    "        preamble_cfo_complex = np.vectorize(complex)(preamble_train_channel[i,:,0], preamble_train_channel[i,:,1])\n",
    "        preamble_cfo_complex = preamble_cfo_complex.reshape((preamble_length,1))\n",
    "        # print(preamble_cfo_complex.shape)\n",
    "\n",
    "        # build the rotation matrix\n",
    "        incremented_omega = np.zeros((preamble_length,1))\n",
    "        for j in range(preamble_length):\n",
    "            incremented_omega[j]=omega_train[i]*j\n",
    "\n",
    "        rotation_complex = np.exp(0.0+1j*incremented_omega)\n",
    "        preamble_rotated_complex = (preamble_cfo_complex*rotation_complex)\n",
    "\n",
    "        preamble_train_cfo[i,:,:] = np.squeeze(np.stack([np.real(preamble_rotated_complex[:,:]), \n",
    "                                     np.imag(preamble_rotated_complex[:,:])], axis=1),axis=-1)\n",
    "        \n",
    "#         # rotate data according to cfo\n",
    "#         for j in range(preamble_length):\n",
    "#             preamble_train_cfo[i,j,0]=(preamble_train_channel[i,j,0]*np.cos(omega_train[i]*j)\n",
    "#                                            -preamble_train_channel[i,j,1]*np.sin(omega_train[i]*j))\n",
    "#             preamble_train_cfo[i,j,1]=(preamble_train_channel[i,j,0]*np.sin(omega_train[i]*j)\n",
    "#                                           +preamble_train_channel[i,j,1]*np.cos(omega_train[i]*j))\n",
    "            \n",
    "        # add AWG noise to the preamble\n",
    "        std = np.power(10.0, -snr/20)\n",
    "    \n",
    "        if snr > 0:\n",
    "            preamble_train_noisy[i,:,:] = std * np.random.randn(preamble_length,2)+preamble_train_cfo[i,:,:]\n",
    "        else:\n",
    "            preamble_train_noisy[i,:,:] = preamble_train_cfo[i,:,:]\n",
    "\n",
    "            \n",
    "        if i % 100000 == 0:\n",
    "            print(i)\n",
    "\n",
    "\n",
    "    for i in range(0, num_test):\n",
    "        # original preamble - known to both TX and RX\n",
    "        preamble_test_orig[i,:,:] = ((2*np.random.randint(2,size=(preamble_length,2)))-1)*np.sqrt(2)/2\n",
    "       \n",
    "        \n",
    "        for k in range(2):\n",
    "            channel_test[i,:,k]=np.random.uniform(0,1,channel_length)\n",
    "#             channel_test[i,:,k]=([1,0])\n",
    "            # normalize power to 1\n",
    "            channel_test[i,:,k] = channel_test[i,:,k]/(np.linalg.norm(channel_test[i,:,k]))\n",
    "            \n",
    "            # apply the channel to the preamble\n",
    "            preamble_test_channel[i,:,k] = sig.convolve(preamble_test_orig[i,:,k], \n",
    "                                                        channel_test[i,:,k], mode='same')\n",
    "        \n",
    "        # rotate data according to cfo\n",
    "        preamble_cfo_complex = np.vectorize(complex)(preamble_test_channel[i,:,0], preamble_test_channel[i,:,1])\n",
    "        preamble_cfo_complex = preamble_cfo_complex.reshape((preamble_length,1))\n",
    "        # print(preamble_cfo_complex.shape)\n",
    "\n",
    "        # build the rotation matrix\n",
    "        incremented_omega = np.zeros((preamble_length,1))\n",
    "        for j in range(preamble_length):\n",
    "            incremented_omega[j]=omega_test[i]*j\n",
    "\n",
    "        rotation_complex = np.exp(0.0+1j*incremented_omega)\n",
    "        preamble_rotated_complex = (preamble_cfo_complex*rotation_complex)\n",
    "\n",
    "        preamble_test_cfo[i,:,:] = np.squeeze(np.stack([np.real(preamble_rotated_complex[:,:]), \n",
    "                                     np.imag(preamble_rotated_complex[:,:])], axis=1),axis=-1)\n",
    "        \n",
    "        \n",
    "        \n",
    "        \n",
    "#         for j in range(preamble_length):\n",
    "#             preamble_test_cfo[i,j,0]=(preamble_test_channel[i,j,0]*np.cos(omega_test[i]*j)\n",
    "#                                            -preamble_test_channel[i,j,1]*np.sin(omega_test[i]*j))\n",
    "#             preamble_test_cfo[i,j,1]=(preamble_test_channel[i,j,0]*np.sin(omega_test[i]*j)\n",
    "#                                           +preamble_test_channel[i,j,1]*np.cos(omega_test[i]*j))\n",
    "            \n",
    "        # add AWG noise to the preamble\n",
    "        std = np.power(10.0, -snr/20)\n",
    "    \n",
    "        if snr > 0:\n",
    "            preamble_test_noisy[i,:,:] = std * np.random.randn(preamble_length,2)+preamble_test_cfo[i,:,:]\n",
    "        else:\n",
    "            preamble_test_noisy[i,:,:] = preamble_test_cfo[i,:,:]\n",
    "\n",
    "            \n",
    "    \n",
    "    print(\"Data generation complete.\")\n",
    "\n",
    "    \n",
    "    return (channel_train, channel_test, preamble_train_orig, preamble_train_cfo, preamble_test_orig, \n",
    "            preamble_test_cfo, omega_train,omega_test, preamble_train_channel,preamble_test_channel,\n",
    "           preamble_train_noisy, preamble_test_noisy)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0\n",
      "100000\n",
      "200000\n",
      "300000\n",
      "400000\n",
      "500000\n",
      "600000\n",
      "700000\n",
      "800000\n",
      "900000\n",
      "1000000\n",
      "1100000\n",
      "1200000\n",
      "1300000\n",
      "1400000\n",
      "1500000\n",
      "1600000\n",
      "1700000\n",
      "1800000\n",
      "1900000\n",
      "2000000\n",
      "2100000\n",
      "2200000\n",
      "2300000\n",
      "2400000\n",
      "2500000\n",
      "2600000\n",
      "2700000\n",
      "2800000\n",
      "2900000\n",
      "3000000\n",
      "3100000\n",
      "3200000\n",
      "3300000\n",
      "3400000\n",
      "3500000\n",
      "3600000\n",
      "3700000\n",
      "3800000\n",
      "3900000\n",
      "4000000\n",
      "4100000\n",
      "4200000\n",
      "4300000\n",
      "4400000\n",
      "Data generation complete.\n"
     ]
    }
   ],
   "source": [
    "epochs = 3000\n",
    "\n",
    "# generate the data\n",
    "(channel_train, channel_test, preamble_train_orig, preamble_train_cfo, preamble_test_orig, preamble_test_cfo, \n",
    " omega_train, omega_test, preamble_train_channel, preamble_test_channel, \n",
    "preamble_train_noisy, preamble_test_noisy) = data_generation(epochs)\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Net trained on omega loss; without noise in preamble\n",
      "Epoch 0, Train Cost 0.26956257224082947, Test Cost: 0.20120660960674286, MSE Loss: 0.9230073690414429\n",
      "Epoch 100, Train Cost 0.0006186458631418645, Test Cost: 0.0005611570668406785, MSE Loss: 0.12619391083717346\n",
      "Epoch 200, Train Cost 0.00022129164426587522, Test Cost: 0.00021422062127385288, MSE Loss: 0.05237922817468643\n",
      "Epoch 300, Train Cost 0.00013749577919952571, Test Cost: 0.0001443469664081931, MSE Loss: 0.035971738398075104\n",
      "Epoch 400, Train Cost 9.825862798606977e-05, Test Cost: 9.743773262016475e-05, MSE Loss: 0.0243541169911623\n",
      "Epoch 500, Train Cost 7.885578088462353e-05, Test Cost: 7.75662119849585e-05, MSE Loss: 0.019547663629055023\n",
      "Epoch 600, Train Cost 8.585241448599845e-05, Test Cost: 6.751164619345218e-05, MSE Loss: 0.016987450420856476\n",
      "Epoch 700, Train Cost 5.920960029470734e-05, Test Cost: 5.945497105130926e-05, MSE Loss: 0.0150781674310565\n",
      "Epoch 800, Train Cost 6.113490235293284e-05, Test Cost: 6.315363134490326e-05, MSE Loss: 0.01602155715227127\n",
      "Epoch 900, Train Cost 5.61929409741424e-05, Test Cost: 9.025181498145685e-05, MSE Loss: 0.022899920120835304\n",
      "Epoch 1000, Train Cost 5.5514599807793275e-05, Test Cost: 4.980699304724112e-05, MSE Loss: 0.012648986652493477\n",
      "Epoch 1100, Train Cost 5.4794705647509545e-05, Test Cost: 4.9774040235206485e-05, MSE Loss: 0.012639489956200123\n",
      "Epoch 1200, Train Cost 6.641556683462113e-05, Test Cost: 5.0954266043845564e-05, MSE Loss: 0.012945706956088543\n",
      "Epoch 1300, Train Cost 4.408481254358776e-05, Test Cost: 4.704250386566855e-05, MSE Loss: 0.011965019628405571\n",
      "Epoch 1400, Train Cost 5.0500824727350846e-05, Test Cost: 5.442920155473985e-05, MSE Loss: 0.01382360327988863\n",
      "Epoch 1500, Train Cost 6.067055437597446e-05, Test Cost: 5.6515833421144634e-05, MSE Loss: 0.014281115494668484\n",
      "Epoch 1600, Train Cost 5.114647137816064e-05, Test Cost: 5.0739497964968905e-05, MSE Loss: 0.012920493260025978\n",
      "Epoch 1700, Train Cost 4.6259283408289775e-05, Test Cost: 4.7715257096569985e-05, MSE Loss: 0.0121815400198102\n",
      "Epoch 1800, Train Cost 4.8338795750169083e-05, Test Cost: 4.1587758460082114e-05, MSE Loss: 0.01062287949025631\n",
      "Epoch 1900, Train Cost 5.4358104534912854e-05, Test Cost: 4.64236072730273e-05, MSE Loss: 0.01180286519229412\n",
      "Epoch 2000, Train Cost 4.8715799493948e-05, Test Cost: 4.622939741238952e-05, MSE Loss: 0.011768855154514313\n",
      "Epoch 2100, Train Cost 4.805915887118317e-05, Test Cost: 4.223502037348226e-05, MSE Loss: 0.010767476633191109\n",
      "Epoch 2200, Train Cost 4.17093287978787e-05, Test Cost: 4.271974103176035e-05, MSE Loss: 0.010895699262619019\n",
      "Epoch 2300, Train Cost 4.339696897659451e-05, Test Cost: 4.172843546257354e-05, MSE Loss: 0.010601330548524857\n",
      "Epoch 2400, Train Cost 4.526371412794106e-05, Test Cost: 4.521117443800904e-05, MSE Loss: 0.011527404189109802\n",
      "Epoch 2500, Train Cost 4.296411498216912e-05, Test Cost: 4.1617651731939986e-05, MSE Loss: 0.010590782389044762\n",
      "Epoch 2600, Train Cost 4.29226020060014e-05, Test Cost: 3.898507929989137e-05, MSE Loss: 0.009920413605868816\n",
      "Epoch 2700, Train Cost 3.661732989712618e-05, Test Cost: 3.400805508135818e-05, MSE Loss: 0.008658290840685368\n",
      "Epoch 2800, Train Cost 3.5550598113331944e-05, Test Cost: 3.4024684282485396e-05, MSE Loss: 0.008664391003549099\n",
      "Epoch 2900, Train Cost 3.382208524271846e-05, Test Cost: 3.4664219128899276e-05, MSE Loss: 0.008834478445351124\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7faeae1e8fd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "### CFO Multitap channel ###\n",
    "\n",
    "import matplotlib.pyplot as plt   \n",
    "import numpy as np\n",
    "\n",
    "epochs = 3000\n",
    "batch_size = 1500\n",
    "\n",
    "print(\"Net trained on omega loss; without noise in preamble\")\n",
    "\n",
    "\n",
    "\n",
    "#     # generate the data\n",
    "#     (channel_train, channel_test, preamble_train_orig, preamble_train_cfo, preamble_test_orig, \n",
    "# preamble_test_cfo, data_train_orig,data_train_cfo,data_test_orig,data_test_cfo) = data_generation(epochs)\n",
    "\n",
    "mc_losses = []\n",
    "\n",
    "# define equalizer NN class object\n",
    "net2 = CFO_Multitap(preamble_length = 40, batch_size=1500, learning_rate = 0.005)\n",
    "\n",
    "for epoch in range(epochs):\n",
    "    current_start = epoch*batch_size\n",
    "    omega_train_batch = omega_train[current_start:(current_start+batch_size),:]\n",
    "    preamble_train_orig_batch = preamble_train_orig[current_start:(current_start+batch_size),:,:]\n",
    "    preamble_train_cfo_batch = preamble_train_cfo[current_start:(current_start+batch_size),:,:]   \n",
    "    preamble_channel_batch = preamble_train_channel[current_start:(current_start+batch_size),:,:]\n",
    "\n",
    "    train_cost = net2.train_net(preamble_train_orig_batch, preamble_train_cfo_batch, omega_train_batch,\n",
    "                               preamble_channel_batch)\n",
    "\n",
    "    if epoch % 100 == 0: \n",
    "\n",
    "\n",
    "        (test_cost, test_omega, test_loss_mse, w1, b1, w2, b2, w3, b3, w4, b4) = net2.test_net(\n",
    "            preamble_test_orig,preamble_test_cfo,omega_test, \n",
    "                                              preamble_test_channel)\n",
    "\n",
    "        mc_losses.append(test_cost)\n",
    "\n",
    "\n",
    "        plt.plot(epoch, np.log(test_cost), 'bo')\n",
    "        print('Epoch {}, Train Cost {}, Test Cost: {}, MSE Loss: {}'.format(epoch, train_cost,test_cost, \n",
    "                                                                            test_loss_mse))\n",
    "\n",
    "\n",
    "plt.xlabel('Training Epoch')\n",
    "plt.ylabel('L2 Test Cost')\n",
    "plt.title('NN Equalizer: no noise')\n",
    "# plt.text(1000, .025, r'NN equalizer')\n",
    "# plt.text(0.5, .025, r'Zero Force equalizer')\n",
    "plt.show()\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "file = open('cfo_estimation_weights.txt','w') \n",
    " \n",
    "file.write(np.array2string(w1,max_line_width=np.inf, threshold=np.inf)+ '|')\n",
    "file.write(np.array2string(b1,max_line_width=np.inf, threshold=np.inf)+ '|')\n",
    "file.write(np.array2string(w2,max_line_width=np.inf, threshold=np.inf)+ '|')\n",
    "file.write(np.array2string(b2,max_line_width=np.inf, threshold=np.inf)+ '|')\n",
    "file.write(np.array2string(w3,max_line_width=np.inf, threshold=np.inf)+ '|')\n",
    "file.write(np.array2string(b3,max_line_width=np.inf, threshold=np.inf)+ '|')\n",
    "file.write(np.array2string(w4,max_line_width=np.inf, threshold=np.inf)+ '|')\n",
    "file.write(np.array2string(b4,max_line_width=np.inf, threshold=np.inf)+ '|')\n",
    "\n",
    "file.close()\n",
    "\n",
    "# len(np.array2string(b3,max_line_width=np.inf, threshold=np.inf))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "457\n"
     ]
    }
   ],
   "source": [
    "with open('cfo_estimation_weights.txt') as f: \n",
    "#     w1,b1,w2,b2,w3,b3,w4,b4 = f.readlines()\n",
    "    data = f.readlines() \n",
    "    for line in data:\n",
    "        fields = line.split('|')\n",
    "\n",
    "print(len(data))\n",
    "# print(data)\n",
    "# print(z)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "True CFO Rate:  [0.0042768]\n",
      "Estimate CFO Rate:  [-0.00221412]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7faeac01d8d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "k=90\n",
    "test_omega = np.array(test_omega)\n",
    "print(\"True CFO Rate: \",omega_test[k])\n",
    "print(\"Estimate CFO Rate: \",test_omega[k])\n",
    "\n",
    "preamble_length=40\n",
    "\n",
    "\n",
    "preamble_cfo_complex = np.vectorize(complex)(preamble_test_cfo[k,:,0], preamble_test_cfo[k,:,1])\n",
    "preamble_cfo_complex=preamble_cfo_complex.reshape((preamble_length,1))\n",
    "# print(preamble_cfo_complex.shape)\n",
    "\n",
    "# build the rotation matrix\n",
    "incremented_omega = np.zeros((preamble_length,1))\n",
    "for i in range(preamble_length):\n",
    "    incremented_omega[i]=-test_omega[k]*i\n",
    "\n",
    "rotation_complex = np.exp(0.0+1j*incremented_omega)\n",
    "# print(rotation_complex.shape)\n",
    "\n",
    "# preamble_rotated_complex = np.multiply(preamble_cfo_complex,rotation_complex)\n",
    "preamble_rotated_complex = (preamble_cfo_complex*rotation_complex)\n",
    "# print(preamble_rotated_complex.shape)\n",
    "\n",
    "preamble_rotated = np.stack([np.real(preamble_rotated_complex[:,:]), \n",
    "                             np.imag(preamble_rotated_complex[:,:])], axis=1)\n",
    "\n",
    "t = np.linspace(0,np.pi*2,100)\n",
    "plt.plot(np.cos(t), np.sin(t), linewidth=1, color='g')\n",
    "plt.gca().set_aspect('equal', adjustable='box')\n",
    "\n",
    "\n",
    "m=39\n",
    "for j in range(m,m+1):\n",
    "    x1, x2 = preamble_test_channel[k,j,0], preamble_rotated[j,0]\n",
    "    y1, y2 = preamble_test_channel[k,j,1], preamble_rotated[j,1]\n",
    "    plt.plot([x1,x2],[y1,y2],'ko-')\n",
    "    plt.plot(x1,y1,'bo')\n",
    "    \n",
    "    plt.plot(preamble_test_cfo[k,j,0], preamble_test_cfo[k,j,1],'ro')\n",
    "\n",
    "    \n",
    "# plt.plot(x1,y1,'bo')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Net trained on omega loss; with noise in preamble\n",
      "Epoch 0, Train Cost 3.853333691949956e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 100, Train Cost 3.3776268537621945e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 200, Train Cost 3.6157645808998495e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 300, Train Cost 3.7929257814539596e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 400, Train Cost 3.5380173358134925e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 500, Train Cost 3.212425872334279e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 600, Train Cost 3.178489350830205e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 700, Train Cost 3.2095740607474e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 800, Train Cost 2.9562341296696104e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 900, Train Cost 5.1162252930225804e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 1000, Train Cost 3.663371171569452e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 1100, Train Cost 2.9802673452650197e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 1200, Train Cost 2.698321441130247e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 1300, Train Cost 2.539213528507389e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 1400, Train Cost 2.6311554393032566e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 1500, Train Cost 2.547004260122776e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 1600, Train Cost 2.594697434687987e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 1700, Train Cost 2.8221345928614028e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 1800, Train Cost 2.227252298325766e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 1900, Train Cost 2.4444490918540396e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 2000, Train Cost 2.0840539946220815e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 2100, Train Cost 2.410178967693355e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 2200, Train Cost 1.9445282305241562e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 2300, Train Cost 2.0636083718272857e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 2400, Train Cost 1.8522623577155173e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 2500, Train Cost 2.4803994165267795e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 2600, Train Cost 1.849578256951645e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 2700, Train Cost 2.1415960873127915e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 2800, Train Cost 1.794672425603494e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n",
      "Epoch 2900, Train Cost 2.605862755444832e-05, Test Cost: 0.19642874598503113, MSE Loss: 1.0233005285263062\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae8d5e4898>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "### CFO Multitap channel ###\n",
    "\n",
    "import matplotlib.pyplot as plt   \n",
    "import numpy as np\n",
    "\n",
    "epochs = 3000\n",
    "batch_size = 1500\n",
    "\n",
    "print(\"Net trained on omega loss; with noise in preamble\")\n",
    "\n",
    "\n",
    "\n",
    "#     # generate the data\n",
    "#     (channel_train, channel_test, preamble_train_orig, preamble_train_cfo, preamble_test_orig, \n",
    "# preamble_test_cfo, data_train_orig,data_train_cfo,data_test_orig,data_test_cfo) = data_generation(epochs)\n",
    "\n",
    "mc_losses = []\n",
    "\n",
    "# define equalizer NN class object\n",
    "net4 = CFO_Multitap_Noise(preamble_length = 40, batch_size=1500, learning_rate = 0.005)\n",
    "\n",
    "for epoch in range(epochs):\n",
    "    current_start = epoch*batch_size\n",
    "    omega_train_batch = omega_train[current_start:(current_start+batch_size),:]\n",
    "    preamble_train_orig_batch = preamble_train_orig[current_start:(current_start+batch_size),:,:]\n",
    "    preamble_train_cfo_batch = preamble_train_noisy[current_start:(current_start+batch_size),:,:]   \n",
    "    preamble_channel_batch = preamble_train_channel[current_start:(current_start+batch_size),:,:]\n",
    "\n",
    "    train_cost = net2.train_net(preamble_train_orig_batch, preamble_train_cfo_batch, omega_train_batch,\n",
    "                               preamble_channel_batch)\n",
    "\n",
    "    if epoch % 100 == 0: \n",
    "\n",
    "\n",
    "        test_cost, test_omega, test_loss_mse = net4.test_net(preamble_test_orig,preamble_test_noisy,omega_test, \n",
    "                                              preamble_test_channel)\n",
    "\n",
    "        mc_losses.append(test_cost)\n",
    "\n",
    "\n",
    "        plt.plot(epoch, np.log(test_cost), 'bo')\n",
    "        print('Epoch {}, Train Cost {}, Test Cost: {}, MSE Loss: {}'.format(epoch, train_cost,test_cost, \n",
    "                                                                            test_loss_mse))\n",
    "\n",
    "\n",
    "plt.xlabel('Training Epoch')\n",
    "plt.ylabel('L2 Test Cost')\n",
    "plt.title('NN Equalizer: no noise')\n",
    "# plt.text(1000, .025, r'NN equalizer')\n",
    "# plt.text(0.5, .025, r'Zero Force equalizer')\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "True CFO Rate:  [0.0042768]\n",
      "Estimate CFO Rate:  [0.3468514]\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAARAAAAD8CAYAAAC/+/tYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3Xd4lGX28PHvSQNC6AmdJJTQBJYOBqV3qYoIooIs4oruWl5dV9GV1WUti2VdlSJEpSxFUERAI1VAapAO0lsglNBjCin3+8dM/IWYkDYzz2TmfK7ruWbmKfd9ZjSHp95HjDEopVRh+FgdgFKq+NIEopQqNE0gSqlC0wSilCo0TSBKqULTBKKUKjRNIEqpQtMEopQqNE0gSqlC87M6gMIIDg424eHhVoehlMfavn17vDEmJK/1imUCCQ8PJyYmxuowlPJYInIyP+vpIYxSqtA0gSilCk0TiFKq0DSBKKUKTROIUqrQHJJARCRKRC6IyN5clouIfCgiR0Rkt4i0zLJspIgctk8jHRGPUso1HLUH8jnQ+zbL+wAR9mksMBlARCoCrwHtgLbAayJSwUExKaWczCH3gRhj1olI+G1WGQjMNLbxEzeLSHkRqQZ0BlYYYy4DiMgKbIloriPiUq6TYTJITE3kRsoNEm4m/Dalm3T8fPx+N5XyK0VwYDBlS5RFRKwOXxWSq24kqwGczvI51j4vt/m/IyJjse29EBoa6pwoVY6MMZy5cYb9F/dz+tppTl8/Tez12N9eY6/HknAzgVJ+pQgKCKJMiTIEBQRR2r80fj5+pGWk/TalZqSSlpFGYmoilxIvkZyWTHBgMMGBwYSUDqFy6crUKV+HiEoRRFSMIKJSBCGBIZpk3JSrEkhO//XNbeb/fqYx04BpAK1bt9aRoJ0kKTWJHed2sOf8Hnaf382eC3vYe2Evfj5+3FH5DsLLh1OzTE3a1mjLfY3uo2bZmtQsW5NyJcvhIwU/Ik5OS+ZS4iXiE+OJT4znXMI5jl45yqrjq5gSM4XDlw+TlpFGRMUIWlRtQZsabWhboy13hNyBv6+/E34BVRCuSiCxQK0sn2sCZ+3zO2ebv9ZFMSngRsoNNp7eyLqT61h3ah074nbQMLghzao0o2nlpgxuNJimlZtSJaiKU/ov6VeSGmVrUKNsjjueAFxOuszB+IP8HPczG09v5IPNH3Dq2in+UPUPtKnehk5hnehWpxtlS5R1Sowqd+Kosg72cyBLjTFNclh2D/AU0BfbCdMPjTFt7SdRtwOZV2V+BlplnhPJTevWrY0+C1M4xhi2x21n8S+LiT4azYGLB2hVvRUdQzvSKbwT7Wu2JyggyOow83Q95Trbz25ny5ktrD6+mk2xm2hetTm96vaiV91etKzWEl8fX6vDLLZEZLsxpnWe6zkigYjIXGx7EsHAeWxXVvwBjDFTxHYA+xG2E6SJwKPGmBj7tqOBl+1NTTTGfJZXf5pACuZm+k1+PPEji39ZzJJDSwj0D2RQg0H0jehLu5rtKOlX0uoQiywxNZF1J9cRfSSa6KPRXPj1Av0b9Gd4k+F0rd0VP59i+dyoZVyaQFxNE0jejDFsPL2RqB1RfP3L1zQIbsDABgMZ1HAQDYMbWh2e0526dopF+xcxb988Tlw9wZBGQxjedDiRtSILda7G22gC8VJxN+KYuWsmUTujEITRLUbzULOHqF6mutWhWebo5aPM2zuPefvmcS35Go82f5Sxrcbe9ryLt9ME4kWMMaw4toL/bv0vG05tYEijIYxuMZr2Ndvr5c9sdp/fzdSYqczdO5dudbrxZJsn6RTWSX+nbDSBeIHU9FTm7Z3HpE2TyDAZPNv+WR644wFKB5S2OjS3dz3lOrN2zeLjbR/jIz482eZJRjUfRSn/UlaH5hY0gXiw6ynX+XT7p3yw5QMiKkbwQuQL9K7XW/8VLQRjDGtOrOE/W/7DtjPbeCHyBR5v/TiB/oFWh2ap/CYQPZtUjCSlJvH2hrep+2Fdtp3dxuIHFrN65Gr6RPTR5FFIIkLX2l35Ztg3LB+xnPWn1lP3w7q8u/Fdfr35q9XhuT1NIMVAWkYan27/lIj/RrDt7DbWP7qeeUPm0ap6K6tD8yjNqzbnqwe+IvqhaDbFbqLuh3V5b9N73Ey/aXVobksTiBszxvDVga9o8kkT/rf3fywauoiFQxd6xWVYKzWr0oyFQxey4uEVrD6+miafNGHpoaUUx8N9Z9NzIG7qwMUDPLHsCa4mX+Wt7m/Rq24vPUyxyHeHv+PZ6GcJLx/O+73ep1FII6tDcjo9B1JMJaUm8crqV+j4eUeGNB7C9rHb9QSpxfpE9GHPE3voXa83HT/vyNPfPc31lOtWh+UWNIG4kegj0TSZ3IRDlw6x60+7eKrtU/o8h5vw9/XnmfbPsH/cfhJuJtB0clNWHF1hdViW0wcE3MCVpCs89d1TbDq9iY/7fkyfiD5Wh6RyEVI6hBkDZxB9JJox346hV91eTOo5yWufBNY9EIv9eOJHmk9tTqVSldg7bq8mj2KiV71e7P7TbgCaTm7KD0d/sDgia+geiEVS01OZsHYCUTujmDFgBn0j+lodkiqgciXLMa3/NH44+gOPffsYAxsMZFLPSQT4BlgdmsvoHogFDl86TIeoDuw8v5Odj+/U5FHM9azbk52P7+TUtVPc/dndnLyar7KyHkETiIt988s3dIjqwCN/eISlw5c6baQv5VoVSlXg6we+ZmjjobSd3pZlh5ZZHZJLOOQQRkR6A/8BfIHpxpi3si1/H+hi/xgIVDbGlLcvSwf22JedMsYMcERM7ibDZDBx3USm/TyNpQ8upW2NtlaHpBxMRPh/kf+P9jXbM2zRMB469RBvdH3DowczKvKNZCLiCxwCemAb43QbMNwYsz+X9f8MtDDGjLZ/TjDGFGgMveJ2I1nCzQRGLR7FmRtn+GroV1QrU83qkJSTXfz1Ig9+9SB+Pn4sGLKAMiXKWB1SgbjyRrK2wBFjzDFjzE1gHrY6MLkZjhfVfTl+5TiRMyIpW6Isa0eu1eThJUJKh/DdiO8ILRvK3Z/dTez1WKtDcgpHJJCC1HYJA2oDq7PMLikiMSKyWUQGOSAet/Fz3M9ERkUypuUYZgyYQQm/ElaHpFzIz8ePKf2m8GDTB4mcEcmuc7usDsnhHHFwlu/aLsAwYKExJj3LvFBjzFkRqQOsFpE9xpijv+ukmBWW+vHEj9z/5f1M6TeFexvda3U4yiIiwl87/JXw8uH0mNWDmYNn0rve7arAFi+O2APJreZLToaR7fDFGHPW/noMW02YFjltaIyZZoxpbYxpHRISUtSYnWrJwSUM+XIIc++bq8lDATD0jqEsHraYUYtHMX/vfKvDcRhHJJBtQISI1BaRAGxJYkn2lUSkAVAB2JRlXgURKWF/Hwx0AHI8+VpczNw1k7HfjmX5g8vpVqeb1eEoNxJZK5IVD6/g2ehnmbN7jtXhOESRD2GMMWki8hQQje0ybpQxZp+IvA7EGGMyk8lwYJ659bJPI2CqiGRgS2Zv5Xb1pjiYGjOViesnsmbkGq945FsVXNMqTVn5yEp6zOpBWkYaI5uPtDqkItHxQBxk5q6ZjF89nrUj11K3Yl2rw1Fu7pf4X+g+szuvd3md0S1GWx3O7+T3Mq7n3uHiQov2L+LFlS+y+pHVmjxUvjQMbsjqkavpNtN2mOuOSSQ/NIEU0fLDyxm3fBzRD0XrYYsqkPqV6rPqkVV0+rwTIYEh9G/Q3+qQCkyfhSmCtSfWMmrxKL4Z9g3Nqza3OhxVDNWvVJ9vhn3D6CWj2Ry72epwCkwTSCEduHiAoV8OZf6Q+bSv2d7qcFQx1rZGW74Y9AWD5g3iYPxBq8MpEE0ghXAp8RL95/bnnR7v0KV2l7w3UCoPfSP68lb3t+g9pzdxN+KsDiffNIEU0M30m9y74F7ua3Qfo5qPsjoc5UFGNR/FmBZj6De3H0mpSVaHky+aQArAGMMTS5+gQskKvNn9TavDUR7o5btfJqJiBOOWjysWdWg0gRTAB5s/YHvcdmbfOxsf0Z9OOZ6IMH3AdLad2cbU7VOtDidPehk3nzad3sRbP73F1jFbCQoo0PAlShVIUEAQXz/wNR2iOtC8anO3Pkmv/4zmw5WkKwxfNJxP+39KWPkwq8NRXiCiUgQzBszg/i/v53zCeavDyZUmkDwYYxjz7RgGNhjIgAYeOdqiclP9G/Rn5B9G8vDXD5NhMqwOJ0eaQPIwOWYyx68c550e71gdivJCEzpP4FrKNSZvm2x1KDnSBHIbu8/v5rW1rzF/yHyPH01s3LgN+PnFIpKBn18s48ZtsDokhW1Us1mDZzHhxwlueZOZJpBcpGWk8eg3j/J297eJqBRhdThONW7cBiZPbkF6ek3Ah/T0mkye3MLtk8icOXMIDw/Hx8eH8PBw5szxjDE2sqtfqT4TOk3gkcWPkJaRZnU4t9DH+XPx75/+zQ/HfuCHh35AJKdRGz2Hn1+sPXncysfnNJ9/vhY/P78iTf7+/jnO9/X1LfRvO2fOHMaOHUtiYuJv8wIDA5k2bRojRowo9G/hrjJMBr1n9+bu0Lt5tdOrTu8vv4/zawLJwZHLR2g/vT1bH9tKnQp1nNaPu/i/8Zyyy8A2RpTz+Pr6Fiop7dy5k5SUlN+1FxYWxokTJ5was1Vir8fScmpLVj6ykmZVmjm1L5eOB5KPwlKjgH8DZ+yzPjLGTLcvGwm8Yp//T2PMF46IqbCMMYz9diwv3fWSVyQPAF/fsznugfj6nuXgwSOkpaUVeEpNTS3UdvmdckoeAKdOnXL2z2WZmmVr8nqX13ly+ZOsG7XOPfaMjTFFmrAljaNAHSAA2AU0zrbOKGxJI/u2FYFj9tcK9vcV8uqzVatWxlmmb59uWk9rbVLTU53Wh8vNnm1MWJgxIrbX2bNvWfzEE+sNJBgwWaYE88QT6y0JNz/CwsIMttH/b5nCwsKsDs2p0tLTTMupLc3MnTOd2g+24Ujz/vvPz0q3bQDuBKKzfH4JeCnbOrklkOHA1Cyfp2KramdJArmceNmEvBNidsTtcEr7lpg925jAQHNLdggMzDGJ+PqeNpBufH1Pu3XyMMaY2bNnm8DAwFuSR2BgoJmd7Xt5os2nN5tqk6qZq0lXndZHfhOIKwtL3Sciu0VkoYhkloHId1EqV5i4fiKDGg7yrMGBxo+HLCcaAdvn8eNvmfXJJ3eRllYTY3xIS6vJJ5/c5cIgC27EiBFMmzaNsLAwRISwsDCPPYGaXbua7egb0ZcJaydYHYpDEkh+Ckt9C4QbY5oBK4HM8xz5LkolImPtFexiLl68WOhgc3PsyjE+2/kZr3d53eFtWyq3cwIecK5gxIgRnDhxgoyMDE6cOOEVySPTm93eZM6eOew5vyfvlZ3IJYWljDGXjDGZZ70+BVrld9ssbTi1sNTLq17mmXbPUDWoqsPbtlRuVfyKQXU/lbuQ0iGMv3s841ePz3tlJ3JJYSkRyVpRegBwwP4+GuhpLzBVAehpn+dSm2M3s+HUBp678zlXd+18EydCYOCt8wIDbfNVsfZ468fZcW4HW2K3WBZDkROIMSYNyCwsdQBYYOyFpUQk8+mzv4jIPhHZBfwF20lVjDGXgTewJaFtwOv2eS5jjOGFFS/wz67/pHRAaVd27RojRsC0aRAWBiK212nTbPNVsVbSrySvdnyVV9c4/8ay3Hj9jWRrT6xl7LdjOfDkAXx9nHvTlFKOlpqeSsOPGxI1IIpO4Z0c1m5+byTz+mdh/rX+X/ztrr9p8lDFkr+vP691eo1X17xqyRCIXp1Atp3Zxi/xv/BQs4esDkWpQhvRdAQXfr3AmhNrXN63VyeQNze8yfORzxPgG2B1KEoVmq+PL89HPs/7m993ed9em0D2X9zPT6d/YkzLMVaHolSRjWg6gi2xWzh86bBL+/XaBPLepvf4c9s/E+gfmPfKSrm5Uv6lGNtqLB9u+dCl/XplArmWfI2F+xfyWMvHrA5FKYcZ12Ycc/bM4WryVZf16ZUJZM6eOfSo24MqQVWsDkUph6lepjp9Ivow4+cZLuvT6xKIMYap26fyeKvHrQ5FKYf7S9u/MDlmsssu6XpdAtl6ZisJNxPoWrur1aEo5XBta7TF39efTbGbXNKf1yWQadunMbblWC1NqTySiPBws4eZtWuWS/rzqr+ipNQkFh1YxMjmI60ORSmnGdF0BAv2LyAlLedhHx3JqxJI9NFoWlVv5XmP7CuVRVj5MJpVacayw8uc3pdXJZCF+xcypNEQq8NQyukebvYws3Y7/zDGaxJISloKyw4vY3CjwVaHopTT3dfoPlYeW0nCzQSn9uM1CWTFsRU0q9JMD1+UVyhXshztarRj5bGVTu3HaxKIHr4ob9Ovfj+WHXLueRCHJBAR6S0iB0XkiIj8LYflz4nIfvuo7KtEJCzLsnQR2WmflmTf1hEyTAbLDi9jUMNBzmheKbd0T8Q9LD+y3Kk3lRU5gYiIL/Ax0AdoDAwXkcbZVtsBtLaPyr4QeCfLsiRjTHP7NAAn2H1+NxVLVaRWuVp5r6yUh4ioFEFp/9LsPLfTaX04Yg+kLXDEGHPMGHMTmAcMzLqCMWaNMSazOMlmbKOvu8zq46vpVrubK7tUyi3cE3EPSw8tdVr7riwslemPwHdZPpe013vZLCK5HmMUpS7MquOr9NZ15ZV61+vNimMrnNa+qwpL2VYUeQhoja3QdqZQ++CtDwIfiEjdnLYtbF2Y1PRUNpzaQOfwzvneRilP0b5me36O+5nU9FSntO+SwlIAItIdGA8MyFJkCmPMWfvrMWAt0MIBMf1m29lt1KlQh+DAYEc2q1SxUK5kOepUqOO08yCuKizVAlvh7AHGmAtZ5lcQkRL298FAB2C/A2L6zfqT6+kY2tGRTSpVrETWinTa07muKiz1byAI+DLb5dpGQIy94NQa4C1jjEMTyI5zO2hdPc/yFkp5rMhakWw8vdEpbfs5ohFjzHJgebZ5f8/yvnsu220Emjoihtz8HPczr3R8xZldKOXW7qx5J6+sds7fgEffiXoj5QZnbpyhYXBDq0NRyjL1Ktbj19RfOZdwzuFte3QC2XV+F00qN8HPxyE7WkoVSyJC45DGHLh4IO+VC8ijE8iOuB20qOrQizpKFUuNghtxIF4TSIHsOr+LP1T5g9VhKGW5RsGNdA+koI5dOUa9ivWsDkMpyzUK0T2QAjtx9QTh5cOtDkMpy+khTAGlZaRx5sYZQsuFWh2KUparVa4WV5OvciPlhkPb9dgEEns9lsqlK1PCr4TVoShlOR/xoXqZ6sQlxDm2XYe25kaOXzlO7fK1rQ5DKbdRNagqcTc0geTLyWsn9fyHUllUDarq8JvJPDaBxCfGExKY/8f+lfJ01YKq6SFMfl1Nvkr5kuWtDkMpt6F7IAWgCUSpW+keSAFcTb5KhVIVrA5DKbdRtkRZhxea8ugEonsgSv2fkn4lSUpNcmibrqoLU0JE5tuXbxGR8CzLXrLPPygivRwRD8CV5CuUK1HOUc0pVeyV9CtJclqyQ9t0VV2YPwJXjDH1gPeBt+3bNsY2BOIdQG/gE3t7RXYz/SYl/Uo6oimlPIJbJhDyURfG/vkL+/uFQDcREfv8ecaYFGPMceCIvT2llIO5awLJT12Y39axj6F6DaiUz22VUg6Qkp7CjnM7HNqmq+rC5LZOQWrKFLqwlFLK9oCpo7mqLsxv64iIH1AOuJzPbYHCF5ZSStmUCShD86rNHdqmS+rC2D+PtL8fAqw2tpLhS4Bh9qs0tYEIYKsDYlJKZZOcluzwCwtFHm3YGJMmIpl1YXyBqMy6MECMMWYJMAOYJSJHsO15DLNvu09EFmArJpUGPGmMSS9qTAB+Pn6kZjinnJ9SxVFSWpL7JRDIV12YZOD+XLadCEx0RBxZlS9ZnqvJVx3drFLFljP2QDz2TlRNIErdShNIAZQvoQlEqawSbiZQ2r+0Q9v02ARSoVQFTSBKZXEu4RxVg6o6tE2PTSDlS5bnStIVq8NQym1oAimAiqUqcinpktVhKOU24hLiqBZUzaFtemwCCS0XyslrJ60OQym3oXsgBVC7fG2OXzludRhKuY24G3FUK6N7IPkSWi6UMzfOOOX+f6WKG2MMZ2+c1UOY/CrhV4KQwBDOXD9jdShKWe5cwjlK+JVw+DCfHptAAGpXqM3xq3oYo9Qv8b/QKLiRw9v16ARSp0Idjl05ZnUYSlnuQPwBGgY3dHi7Hp1AmoQ0Yff53VaHoZTlDlw8oHsgBdWiWguHj8CkVHF0IP4AjUI0gRRIi6ot2HluJxkmw+pQlLLU/ov7dQ+koCoFVqJ8yfJ6HkR5tdjrsaRmpBJaLtThbXt0AgHbXsiOOD2MUd5r0+lNRNaKxFYIwbGKlEBEpKKIrBCRw/bX311kFpHmIrJJRPaJyG4ReSDLss9F5LiI7LRPjh2wEVsC2R633dHNKlVsbDy9kTtr3umUtou6B/I3YJUxJgJYZf+cXSLwiDEms3jUByKStebkC8aY5vZpZxHj+Z0OoR1Yf2q9o5tVqtjYGLuRyFqRTmm7qAkka8GoL4BB2Vcwxhwyxhy2vz8LXABcNqx6ZK1Idp3bxY2UG67qUim3kZSaxN4Le2ldvbVT2i9qAqlijIkDsL9Wvt3KItIWCACOZpk90X5o876IlChiPL8T6B9Imxpt2HBqg6ObVsrtxZyN4Y6QOwj0D3RK+3kmEBFZKSJ7c5iyl6/Mq51qwCzgUWN+u676EtAQaANUBF68zfaFLizVNbwrq46vKtA2SnmCH47+QJfwLk5rP88EYozpboxpksP0DXDenhgyE8SFnNoQkbLAMuAVY8zmLG3HGZsU4DNuUxe3KIWlutXpxurjqwu0jVKeYNnhZfSr389p7Rf1ECZrwaiRwDfZV7AXm/oamGmM+TLbsszkI9jOn+wtYjw5alO9DUevHCU+Md4ZzSvlls7eOMvJaye5s5ZzrsBA0RPIW0APETkM9LB/RkRai8h0+zpDgY7AqBwu184RkT3AHiAY+GcR48mRv68/3et0Z9mhZc5oXim3tPzwcnrW7Ymfj0PKP+WoSC0bYy4B3XKYHwOMsb+fDczOZfuuRem/IIY0GsKcPXMY2Xxk3isr5QGWHlrKkMZDnNqHx9+Jmume+vew/tR6riVfszoUpZwuOS2ZNSfW0Lteb6f24zUJpGyJsnQO78y3h761OhSlnG7ZoWW0qtaK4MBgp/bjNQkEbIcxC/cvtDoMpZxu1u5ZPNzsYaf341UJpH+D/qw+vprrKdetDkUpp4lPjGfNiTXc1/g+p/flVQmkfMny9Kjbg7l75lodilJOM3/vfO6JuIeyJco6vS+vSiAAY1uOZdrP06wOQymncdXhC3hhAulRtweXky4TczbG6lCUcriD8Qc5cfUEPer2cEl/XpdAfMSHx1o+xrTtuheiPM9HWz9idIvRTr15LCuvSyAAo1uM5sv9X+rJVOVRriZfZc6eOTzZ5kmX9emVCaRqUFW61u7K7N053iCrVLEUtSOKPhF9qFG2hsv69MoEAvBc++eYtHGS1s5VHiEtI40Pt3zI0+2edmm/XptAOoR2oFa5WszfO9/qUJQqsiUHl1CjbA3a1sh1RAyn8NoEAvDyXS/z5oY3tW6MKtaMMUzaOIln2j3j8r69OoH0rNuTEn4lWHpoqdWhKFVo3x/5nmsp17i30b0u79urE4iI8PJdLzNx/USMMVaHo1SBGWN4Zc0rvN75dXx9fF3ev1cnEIDBjQZzI+UG3x35zupQlCqwxb8sxhjD4EaDLenf6YWl7OulZxmNbEmW+bVFZIt9+/n24Q9dykd8eLv727yw4gW9IqOKlfSMdF5d8ypvdHkDH7FmX8AVhaUAkrIUjxqQZf7bwPv27a8AfyxiPIXSr34/KpeuTNSOKCu6V6pQFuxbQJkSZegb0deyGJxeWCo39oGUuwKZA3QUaHtHEhEm9ZjEa2tf0wJUqlhITE3kpVUv8Wa3N51S8za/XFVYqqS9pstmEclMEpWAq8aYzOOGWMB1t9Bl06p6K3rU6cE7P71jVQhK5dub69+kfc32dA7vbGkceT5xIyIrgao5LBpfgH5CjTFnRaQOsNo+EntOD6LkeilERMYCYwFCQ0ML0HX+/bPrP2kxtQWPtXqM0HLO6UOpojp86TCTYyaz60+7rA7FNYWl7DVxMcYcA9YCLYB4oLyIZCaxmsDZ28RR6MJS+RVaLpRn2j3DE8ue0Mu6yi0ZY3j6+6d5scOLLn3mJTeuKCxVIbPmrYgEAx2A/cb2F7oGGHK77V3txbte5NS1U8zbO8/qUJT6nW8OfsPxq8d5ur1rn3nJjSsKSzUCYkRkF7aE8ZYxZr992YvAcyJyBNs5kRlFjKfIAnwDmN5/Os9GP6uV7JRbuZZ8jae/f5qP+nxEgK/L73jIkRTHXfXWrVubmBjnjij27PfPcinpEjMHz3RqP0rl16PfPEqATwBT+091el8ist0Y0zqv9bz+TtTcvNH1DdafWs/3R763OhSlWPzLYtadXMe7vd61OpRbaALJRVBAEJ/2/5QxS8Zw4dcczw0r5RIXfr3AE8ueYOagmQQFBFkdzi00gdxG9zrdeajZQ4xaPEof+VeWMMYw9tuxjPzDSDqEdrA6nN/RBJKHN7q8wZXkK7y/6X2rQ1FeaPrP0zl+9Tj/6PwPq0PJkSaQPPj7+jP3vrm8/dPbbD2z1epwlBeJORvD+NXjmT9kPiX8SlgdTo40geRDePlwpvSbwrCFw7iWfM3qcJQXiE+MZ8iCIUzpN4WGwQ2tDidXmkDy6d5G99Kvfj+GLxquj/0rp0rLSGPYwmEMazLMklHGCkITSAG82/NdUjNSef6H560ORXmwV1a/AtiezXJ3mkAKwN/Xny/v/5Lvj3zP1Bjn38yjvM/cPXOZu3cuc++b67LqckXh/hG6mfIly7P0waV0iOpAvYr16Fanm9UhKQ+x6tgqnv7+aVY9soqQ0s55YNTRdA+kEOpVrMf8IfN58KsH+SX+F6vDUR5g57mdDF80nAX3L6BplaZWh5NvmkAKqXN4Z97p/g49Z/Xk+JXjVoejirETV0/Q73/9+Ljvx5YPEFRQeghH/rB5AAAM2UlEQVRTBCObjyThZgLdZ3Vn3ah1bjE+gypeLiVeovfs3vy1w1+5/477rQ6nwDSBFNGTbZ/k19Rf6T6rOz+O+pHKpXMb1VGpW11KvET3Wd0Z3HAwf2n3F6vDKRQ9hHGAv3b4K/c3vp+es3pyJemK1eGoYuDirxfpOrMrPev05F/d/mV1OIWmCcRB/tH5H3St3ZUes3pw8deLVoej3Nj5hPN0+aIL/ev3563ub1k6qnpROb2wlIh0yVJUaqeIJGeOzC4in4vI8SzLmhclHiuJCO/2fJdedXvR8fOOnL522uqQlBs6l3COLl90YUjjIbzR5Y1inTzABYWljDFrMotKYasDkwj8kGWVF7IUndpZxHgsJSJM7DaRx1o+xl2f3aWXeNUtjl85TqfPOzG8yXAmdJ5Q7JMHuL6w1BDgO2NMYhH7dWvP3fkc/+j8Dzp/3pmYs84delEVD1vPbKVDVAf+3PbPvNrpVavDcRhXFZbKNAyYm23eRBHZLSLvZ47enhMRGWsvThVz8aL7n2MY1XwUU/tNpc+cPjosopf7+sDX9PtfP6b1n8ZTbZ+yOhzHMsbcdgJWAntzmAZiqyyXdd0rt2mnGnAR8M82T4AS2PZg/p5XPMYYWrVqZYqLDSc3mGqTqpl3NrxjMjIyrA5HuVBGRoZ5b+N7psa7NUzMmRirwykQIMbk428xz/tAjDHdc1smIudFpJoxJu52haXshgJfG2NSs7QdZ3+bIiKfAR73mGuH0A5sGbOFQfMHsfP8Tqb3n04p/1JWh6WcLCUthWejn2XdyXVs/ONGj6106PTCUlkMJ9vhS5aqdoLt/MneIsbjlmqVq8WGRzcAcPdnd+sVGg934uoJ7v7sbs4lnOOn0T95bPIA1xSWQkTCgVrAj9m2n2Ovk7sHCAbcfwCEQirlX4rZg2fzwB0P0G56O1YcXWF1SMoJlh5aSrvp7RjWZBiLhi6iXMlyVofkVFpYygKrj69m5OKRDG08lH91+5fbjnep8i8tI43xq8Yzd+9c5g2ZR2StSKtDKhItLOXGutbuys7Hd3L86nHaTW/H/ov7895Iua1Dlw7R6fNO7Dq/i58f/7nYJ4+C0ARikUqBlVg0dBFPtX2KTp934pNtn1Ac9wa9WXpGOu9teo/IGZEMu2MYy0csJzgw2OqwXEoPYdzAoUuHGPHVCIICgph8z2S3HoVb2RyMP8joJaPx8/EjakAUdSvWtTokh9JDmGKkfqX6bPrjJgY1GMRdUXfx9zV/Jzkt2eqwVA5S01OZtHESHaI6MOyOYawZucbjkkdBaAJxE34+fjzd/ml2/WkX+y/up+nkpqw8ttLqsFQW3x/5nmZTmrHi2Aq2jNnCn9v9GR/x7j8hHVDIzdQoW4OFQxey7NAyHvv2MdpUb8PErhOJqBRhdWhe69ClQzwX/RwHLx3k/V7vc0/EPR7xIJwjeHf6dGP31L+HfeP20bxqc+6ccSfjlo3jXMI5q8PyKleSrvD8D88TOSOSzuGd2TduH/3q99PkkYUmEDcW6B/Iy3e/zMGnDhLoH8gdn9zBK6tf0fKaTnYp8RKvrH6Fev+tx/WU6+wbt4/nI58nwDfA6tDcjiaQYqBSYCUm9ZzEjsd3cObGGSL+G8GEtRN05DMHi0+M5+VVL1P/o/qcTzhPzGMxTOs/jSpBVawOzW1pAilGQsuF8tnAz1j36DrOXD9D/Y/qM27ZOI5cPmJ1aMXaqWuneHHFizT4qAGXky6zfex2Ph3wKbUr1LY6NLenCaQYahjckE8HfMqBJw9QsVRF7pxxJ0MWDGHT6U16M1o+GWNYeWwlg+cPpsXUFiSnJbPj8R1M6TeF8PLhVodXbOiNZB4g4WYCUTui+O/W/xLgG8Do5qN5qNlDuuudg2vJ15i5ayafxHyCv48/T7Z5khHNbDfxqf+T3xvJNIF4EGMMG05tIGpnFF8f+Joutbswuvlo+kT0KRaFmp0lKTWJ5YeXM2/fPH44+gO96/XmqTZPcVfoXXpFJReaQLzcjZQbLNi3gKidURy6dIh+9fsxsMFAetbtSaB/oNXhOV1qeiorj61k7t65fHvoW1pWa8nwJsO5t9G9VCxV0erw3J4mEPWbk1dPsuTgEhYfXMy2M9voUrsLgxoMom9EX486zDlx9QTRR6KJPhrNmhNraBjckOFNhnN/4/upVqaa1eEVKy5JICJyPzABaAS0Ncbk+FctIr2B/wC+wHRjTObAQ7WBeUBF4GfgYWPMzbz61QRSeJeTLrP88HIW/7KYlcdWUq1MNTqGdqRTeCc6hnWkZtmaVoeYb3E34th6Ziurjq8i+mg0V5Ku0LNuT3rV7UWPuj2oGlTV6hCLLVclkEZABjAVeD6nBCIivsAhbCOWxQLbgOHGmP0isgD4yhgzT0SmALuMMZPz6lcTiGOkZ6Sz+/xu1p1cx7pT61h3ch1lAsoQWSuSZlWa0bRyU5pWaUqNMjUsP1dwNfkq289uZ9vZbWw9s5VtZ7eRmJpIm+pt6BTWiV71etG8anOvfzbFUVx6CCMia8k9gdwJTDDG9LJ/fsm+6C1so7RXNcakZV/vdjSBOIcxhgPxB9gcu5k95/ew+8Ju9pzfQ1pGGk0qN6FJ5SaElQujZtma1CpXi1pla1GjbA2H3KGZkpZCfGI85389z5HLRzh86TCHL9unS4dJTE2kRbUWtKnehrY12tKmehvqVKhjeWLzVPlNIK44NV8DyDqKcCzQDqiErSxEWpb5NVwQj8qFiNA4pDGNQxrfMv98wnn2XNjD/ov7OX3tNDvO7SD2eiynr58m7kYcFUpVoELJCgQFBBEUEESZEmVs7/2D8PXxJS0j7bcpNSOVtIw0klKTiE+M52LiReIT40lJSyGkdAghgSHUrViXiIoR3B16N6NbjCaiYgRVg6pqsnBDeSYQEVkJ5HQwOd4Yc7tR2H9rIod55jbzc4tjLDAWIDTUc0e5dkdVgqpQJagK3ev8vsJHekY6F369wLWUayTcTOBGyg0SbibY3t+8QYbJwM/H73dTKb9SBAcGExwYTEjpEMoElNEEUQwVqS5MPsViG5E9U03gLBAPlBcRP/teSOb83OKYBkwD2yFMEWNSDuLr40u1MtX0KoeXcsUZp21AhIjUFpEAbOUtl9irX63BVi8X8q4ro5RyM0VKICIyWERigTuBZSISbZ9fXUSWA9j3Lp4CooEDwAJjzD57Ey8Cz4nIEWznRGYUJR6llGvpjWRKqd/RQZWVUk6nCUQpVWiaQJRShaYJRClVaJpAlFKFViyvwojIReBkPlYNxnbDWnHmCd8BPON7eNN3CDPGhOS1UrFMIPklIjH5uRTlzjzhO4BnfA/9Dr+nhzBKqULTBKKUKjRPTyDTrA7AATzhO4BnfA/9Dtl49DkQpZRzefoeiFLKiTwqgYjI/SKyT0QyRCTXM80i0ltEDorIERH5mytjzIuIVBSRFSJy2P5aIZf10kVkp31a4uo4c5LX7yoiJURkvn35FhEJd32UecvH9xglIhez/P5jrIjzdkQkSkQuiMjeXJaLiHxo/467RaRloToyxnjMhG10+AbAWqB1Luv4AkeBOkAAsAtobHXsWeJ7B/ib/f3fgLdzWS/B6lgL+rsC44Ap9vfDgPlWx13I7zEK+MjqWPP4Hh2BlsDeXJb3Bb7DNjJge2BLYfrxqD0QY8wBY8zBPFZrCxwxxhwzthIS84CBzo8u3wYCX9jffwEMsjCWgsjP75r1uy0Euon7jWPo7v9/5IsxZh1w+TarDARmGpvN2EYHLPCwch6VQPIpp0Ge3Wkw5yrGmDgA+2vlXNYrKSIxIrJZRNwhyeTnd/1tHWMbaOoatoGk3El+//+4z77rv1BEauWw3N055O+g2BVMdeIgzy5zu+9QgGZCjTFnRaQOsFpE9hhjjjomwkLJz+9q+W+fD/mJ8VtgrjEmRUT+hG2vqqvTI3Msh/y3KHYJxDhvkGeXud13EJHzIlLNGBNn36W8kEsbZ+2vx+x1eVpgO3a3Sn5+18x1YkXEDyjH7XezrZDn9zDGXMry8VPgbRfE5WgO+TvwxkOYHAd5tjimrJZgG2AachloWkQqiEgJ+/tgoAOw32UR5iw/v2vW7zYEWG3sZ/TcSJ7fI9u5ggHYxvotbpYAj9ivxrQHrmUeOheI1WeLHXzmeTC2zJoCnAei7fOrA8uznYE+hO1f7PFWx53tO1QCVgGH7a8V7fNbY6srDBAJ7MF2hWAP8Eer487tdwVeBwbY35cEvgSOAFuBOlbHXMjv8Sawz/77rwEaWh1zDt9hLhAHpNr/Jv4I/An4k325AB/bv+Mecrlqmdekd6IqpQrNGw9hlFIOoglEKVVomkCUUoWmCUQpVWiaQJRShaYJRClVaJpAlFKFpglEKVVo/x/Z6AywqHhGWQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae7e798860>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "test_omega = np.array(test_omega)\n",
    "print(\"True CFO Rate: \",omega_test[k])\n",
    "print(\"Estimate CFO Rate: \",test_omega[k])\n",
    "\n",
    "preamble_length=40\n",
    "\n",
    "\n",
    "preamble_cfo_complex = np.vectorize(complex)(preamble_test_cfo[k,:,0], preamble_test_cfo[k,:,1])\n",
    "preamble_cfo_complex=preamble_cfo_complex.reshape((preamble_length,1))\n",
    "# print(preamble_cfo_complex.shape)\n",
    "\n",
    "# build the rotation matrix\n",
    "incremented_omega = np.zeros((preamble_length,1))\n",
    "for i in range(preamble_length):\n",
    "    incremented_omega[i]=-test_omega[k]*i\n",
    "\n",
    "rotation_complex = np.exp(0.0+1j*incremented_omega)\n",
    "# print(rotation_complex.shape)\n",
    "\n",
    "# preamble_rotated_complex = np.multiply(preamble_cfo_complex,rotation_complex)\n",
    "preamble_rotated_complex = (preamble_cfo_complex*rotation_complex)\n",
    "# print(preamble_rotated_complex.shape)\n",
    "\n",
    "preamble_rotated = np.stack([np.real(preamble_rotated_complex[:,:]), \n",
    "                             np.imag(preamble_rotated_complex[:,:])], axis=1)\n",
    "\n",
    "t = np.linspace(0,np.pi*2,100)\n",
    "plt.plot(np.cos(t), np.sin(t), linewidth=1, color='g')\n",
    "plt.gca().set_aspect('equal', adjustable='box')\n",
    "\n",
    "\n",
    "m=39\n",
    "for j in range(m,m+1):\n",
    "    x1, x2 = preamble_test_channel[k,j,0], preamble_rotated[j,0]\n",
    "    y1, y2 = preamble_test_channel[k,j,1], preamble_rotated[j,1]\n",
    "    plt.plot([x1,x2],[y1,y2],'ko-')\n",
    "    plt.plot(x1,y1,'bo')\n",
    "    \n",
    "    plt.plot(preamble_test_cfo[k,j,0], preamble_test_cfo[k,j,1],'ro')\n",
    "\n",
    "    \n",
    "# plt.plot(x1,y1,'bo')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "# weights_1_np = np.array(weights_1)\n",
    "# weights_2_np = np.array(weights_2)\n",
    "# weights_3_np = np.array(weights_3)\n",
    "# weights_4_np = np.array(weights_4)\n",
    "\n",
    "# print(weights_1_np)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import tensorflow as tf\n",
    "\n",
    "np.random.seed()\n",
    "# tf.set_random_seed()\n",
    "\n",
    "'''\n",
    "CFO Multitap is a net that, given a known preamble, will take in the convolved preamble and estimate the CFO.\n",
    "'''\n",
    "\n",
    "class CFO_Multitap2():\n",
    "    def __init__(self, preamble_length = 40, batch_size = 150, learning_rate = 0.01):           \n",
    "        \n",
    "        # Network variables\n",
    "        self.preamble_length = preamble_length\n",
    "        self.batch_size = batch_size\n",
    "        self.learning_rate = learning_rate\n",
    "        \n",
    "        # Placeholders for training\n",
    "        self.preamble_original = tf.placeholder(tf.float32, [None, self.preamble_length, 2])\n",
    "        self.preamble_convolved = tf.placeholder(tf.float32, [None, self.preamble_length, 2])\n",
    "        self.preamble_channel = tf.placeholder(tf.float32, [None, self.preamble_length,2])\n",
    "        self.omega_original = tf.placeholder(tf.float32, [None, 1])\n",
    "            \n",
    "        ###############\n",
    "        # CFO Estimation using preambles\n",
    "        ###############\n",
    "        preamble_original_cfo = tf.concat([self.preamble_original, self.preamble_convolved], 1)\n",
    "\n",
    "        preamble_original_cfo_flat = tf.contrib.layers.flatten(preamble_original_cfo)\n",
    "        \n",
    "        w1_init = tf.constant_initializer(w1)\n",
    "        w2_init = tf.constant_initializer(w2)\n",
    "        w3_init = tf.constant_initializer(w3)\n",
    "        w4_init = tf.constant_initializer(w4)\n",
    "        b1_init = tf.constant_initializer(b1)\n",
    "        b2_init = tf.constant_initializer(b2)\n",
    "        b3_init = tf.constant_initializer(b3)\n",
    "        b4_init = tf.constant_initializer(b4)\n",
    "\n",
    "        cfo_layer_1 = tf.layers.dense(\n",
    "          preamble_original_cfo_flat, 100, tf.nn.tanh, use_bias=True, kernel_initializer= w1_init,\n",
    "            bias_initializer=b1_init)\n",
    "        cfo_layer_2 = tf.layers.dense(\n",
    "          cfo_layer_1, 100, tf.nn.tanh, use_bias=True, kernel_initializer= w2_init, bias_initializer=b2_init)\n",
    "        cfo_layer_3 = tf.layers.dense(\n",
    "          cfo_layer_2, 100, tf.nn.tanh, use_bias=True, kernel_initializer= w3_init, bias_initializer=b3_init)\n",
    "        cfo_layer_4 = tf.layers.dense(\n",
    "          cfo_layer_3, 1, tf.identity, use_bias=True, kernel_initializer= w4_init, bias_initializer=b4_init)\n",
    "\n",
    "        self.est_omega = cfo_layer_4\n",
    "        \n",
    "        self.mse_omega_loss = tf.losses.mean_squared_error(self.est_omega, self.omega_original)\n",
    "        ###############\n",
    "        # CFO Correction on the convolved data\n",
    "        ###############\n",
    "\n",
    "        preamble_cfo_complex = tf.complex(self.preamble_convolved[:,:,0], self.preamble_convolved[:,:,1])\n",
    "        preamble_cfo_complex = tf.expand_dims(preamble_cfo_complex, -1)\n",
    "\n",
    "        # build the rotation matrix\n",
    "        incremented_omega = []\n",
    "        for i in range(preamble_length):\n",
    "            incremented_omega.append(-self.est_omega*i)\n",
    "\n",
    "        rotation_complex = tf.exp(tf.complex(0.0,tf.transpose(incremented_omega, perm=[1,0,2])))\n",
    "        preamble_rotated_complex = tf.multiply(preamble_cfo_complex,rotation_complex)\n",
    "\n",
    "        preamble_rotated = tf.stack([tf.real(preamble_rotated_complex[:,:]), \n",
    "                                     tf.imag(preamble_rotated_complex[:,:])], axis=2)\n",
    "        \n",
    "        self.preamble_cfo_corrected = tf.squeeze(preamble_rotated,-1)\n",
    "#         self.preamble_cfo_corrected=[]\n",
    "#         for j in range(self.batch_size):\n",
    "            \n",
    "#             preamble_corr = []\n",
    "#             for k in range(self.preamble_length):\n",
    "#                 real = (self.preamble_channel[j,k,0]*tf.cos(self.est_omega[j]*k)\n",
    "#                                            -self.preamble_channel[j,k,1]*tf.sin(self.est_omega[j]*k))\n",
    "#                 imag = (self.preamble_channel[j,k,0]*tf.sin(self.est_omega[j]*k)\n",
    "#                                           +self.preamble_channel[j,k,1]*tf.cos(self.est_omega[j]*k))\n",
    "#                 preamble_corr.append(tf.concat([real,imag], 0))\n",
    "                \n",
    "#             self.preamble_cfo_corrected.append(preamble_corr)\n",
    "    \n",
    "    \n",
    "        ###############################################\n",
    "        # Define surrogate loss and optimization tensor\n",
    "        ###############################################\n",
    "        self.surr = tf.losses.mean_squared_error(self.preamble_channel, self.preamble_cfo_corrected)\n",
    "        self.optimizer = tf.train.AdamOptimizer(self.learning_rate)\n",
    "        self.update_op = self.optimizer.minimize(self.surr)\n",
    "\n",
    "        ###############\n",
    "        # Start session\n",
    "        ###############\n",
    "        self.sess = tf.Session()\n",
    "        self.sess.run(tf.global_variables_initializer())\n",
    "            \n",
    "\n",
    "    def test_net(self, preamble_original, preamble_convolved, omega_original, preamble_channel):\n",
    "        \"\"\"\n",
    "        Test net function. Evaluates the session\n",
    "        Inputs:\n",
    "            self.preamble_original, the original preamble that was sent prior to noise, CFO, and channel\n",
    "            self.preamble_convolved, preamble after noise, CFO, and channel\n",
    "            self.data_original, the original data that was sent prior to noise, CFO, and channel\n",
    "            self.data_convolved, data after noise, CFO, and channel\n",
    "            self.channel, channel that is applied to the I and Q of the preamble and data streams\n",
    "        Outputs:\n",
    "            test_cost, error between the data_original and the estimated data\n",
    "        \"\"\"\n",
    "\n",
    "        test_cost, test_omega, test_est, test_omega_loss = self.sess.run([self.surr,self.est_omega, self.preamble_cfo_corrected, self.mse_omega_loss],\n",
    "                                                        feed_dict={\n",
    "                self.preamble_original: preamble_original,\n",
    "                self.preamble_convolved: preamble_convolved,\n",
    "                self.omega_original: omega_original,\n",
    "                self.preamble_channel: preamble_channel\n",
    "        })\n",
    "        \n",
    "        return test_cost,test_omega, test_omega_loss\n",
    "    \n",
    "            \n",
    "    def train_net(self, preamble_original, preamble_convolved, omega_original, preamble_channel):\n",
    "        \"\"\"\n",
    "        Train net function. Calls self.update_op.\n",
    "        Inputs:\n",
    "            self.preamble_original, the original preamble that was sent prior to noise, CFO, and channel\n",
    "            self.preamble_convolved, preamble after noise, CFO, and channel\n",
    "            self.data_original, the original data that was sent prior to noise, CFO, and channel\n",
    "            self.data_convolved, data after noise, CFO, and channel\n",
    "            self.channel, channel that is applied to the I and Q of the preamble and data streams\n",
    "        Outputs:\n",
    "            train_cost, error between the data_original and the estimated data\n",
    "        \"\"\"\n",
    "\n",
    "        _ , train_cost, train_omega_loss = self.sess.run([self.update_op, self.surr, self.mse_omega_loss], feed_dict={\n",
    "                self.preamble_original: preamble_original,\n",
    "                self.preamble_convolved: preamble_convolved,\n",
    "                self.omega_original: omega_original,\n",
    "                self.preamble_channel: preamble_channel\n",
    "        })\n",
    "        \n",
    "        return train_cost, train_omega_loss\n",
    "    \n",
    "    \n",
    "    def vis_net(self, preamble_original, preamble_convolved, omega_original, preamble_channel):\n",
    "        \"\"\"\n",
    "        Visualize net function. Evaluates the session\n",
    "        Inputs:\n",
    "            self.preamble_original, the original preamble that was sent prior to noise, CFO, and channel\n",
    "            self.preamble_convolved, preamble after noise, CFO, and channel\n",
    "            self.data_original, the original data that was sent prior to noise, CFO, and channel\n",
    "            self.data_convolved, data after noise, CFO, and channel\n",
    "            self.channel, channel that is applied to the I and Q of the preamble and data streams\n",
    "        Outputs:\n",
    "            Corrected data\n",
    "        \"\"\"\n",
    "\n",
    "        test_cost, test_omega, test_est, test_omega_loss = self.sess.run([self.surr,self.est_omega, self.preamble_cfo_corrected, self.mse_omega_loss],\n",
    "                                                        feed_dict={\n",
    "                self.preamble_original: preamble_original,\n",
    "                self.preamble_convolved: preamble_convolved,\n",
    "                self.omega_original: omega_original,\n",
    "                self.preamble_channel: preamble_channel\n",
    "        })\n",
    "        \n",
    "        \n",
    "        return test_est, test_omega\n",
    "    \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 0, Train Cost 0.00858329888433218, Test Cost: 0.20696187019348145\n",
      "3.3696753e-05\n",
      "Epoch 100, Train Cost 0.0066412463784217834, Test Cost: 0.006548101082444191\n",
      "2.6032976e-05\n",
      "Epoch 200, Train Cost 0.005586044397205114, Test Cost: 0.005446743685752153\n",
      "2.2020022e-05\n",
      "Epoch 300, Train Cost 0.003642656374722719, Test Cost: 0.0039557586424052715\n",
      "1.4441973e-05\n",
      "Epoch 400, Train Cost 0.003635833039879799, Test Cost: 0.003305098507553339\n",
      "1.4336185e-05\n",
      "Epoch 500, Train Cost 0.003073686035349965, Test Cost: 0.0026510509196668863\n",
      "1.2133174e-05\n",
      "Epoch 600, Train Cost 0.002432851120829582, Test Cost: 0.0025795011315494776\n",
      "9.541532e-06\n",
      "Epoch 700, Train Cost 0.0032639552373439074, Test Cost: 0.002273200312629342\n",
      "1.2886687e-05\n",
      "Epoch 800, Train Cost 0.002544370712712407, Test Cost: 0.002182066673412919\n",
      "1.0015859e-05\n",
      "Epoch 900, Train Cost 0.00184595154132694, Test Cost: 0.0023928091395646334\n",
      "7.3125293e-06\n",
      "Epoch 1000, Train Cost 0.0018580236937850714, Test Cost: 0.0017882552929222584\n",
      "7.341128e-06\n",
      "Epoch 1100, Train Cost 0.0022568576969206333, Test Cost: 0.0020549623295664787\n",
      "8.99356e-06\n",
      "Epoch 1200, Train Cost 0.0017717999871820211, Test Cost: 0.0017144584562629461\n",
      "7.034815e-06\n",
      "Epoch 1300, Train Cost 0.0028619342483580112, Test Cost: 0.0028714288491755724\n",
      "1.13140695e-05\n",
      "Epoch 1400, Train Cost 0.0015868453774601221, Test Cost: 0.0016010603867471218\n",
      "6.287728e-06\n",
      "Epoch 1500, Train Cost 0.0015270243166014552, Test Cost: 0.0016362572787329555\n",
      "6.0515436e-06\n",
      "Epoch 1600, Train Cost 0.0016044580843299627, Test Cost: 0.001540193217806518\n",
      "6.299019e-06\n",
      "Epoch 1700, Train Cost 0.002088302280753851, Test Cost: 0.0024236745666712523\n",
      "8.252649e-06\n",
      "Epoch 1800, Train Cost 0.0018291114829480648, Test Cost: 0.0014823686797171831\n",
      "7.214295e-06\n",
      "Epoch 1900, Train Cost 0.0013822829350829124, Test Cost: 0.001432883320376277\n",
      "5.4914294e-06\n",
      "Epoch 2000, Train Cost 0.0015600566985085607, Test Cost: 0.0021599121391773224\n",
      "6.206541e-06\n",
      "Epoch 2100, Train Cost 0.0023984594736248255, Test Cost: 0.0023174581583589315\n",
      "9.420452e-06\n",
      "Epoch 2200, Train Cost 0.0012029019417241216, Test Cost: 0.0015239728381857276\n",
      "4.748696e-06\n",
      "Epoch 2300, Train Cost 0.0011973211076110601, Test Cost: 0.0011239612940698862\n",
      "4.8483316e-06\n",
      "Epoch 2400, Train Cost 0.0012933885445818305, Test Cost: 0.001502399449236691\n",
      "5.156525e-06\n",
      "Epoch 2500, Train Cost 0.0010053601581603289, Test Cost: 0.0010535487672314048\n",
      "3.95265e-06\n",
      "Epoch 2600, Train Cost 0.0011466911528259516, Test Cost: 0.000988796236924827\n",
      "4.5017173e-06\n",
      "Epoch 2700, Train Cost 0.001024654251523316, Test Cost: 0.0010754938703030348\n",
      "4.0686114e-06\n",
      "Epoch 2800, Train Cost 0.0009330158936791122, Test Cost: 0.0010172612965106964\n",
      "3.6536508e-06\n",
      "Epoch 2900, Train Cost 0.0011140924179926515, Test Cost: 0.0012574107386171818\n",
      "4.3746945e-06\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae7e7f3978>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "### CFO Preamble Loss ###\n",
    "\n",
    "import matplotlib.pyplot as plt   \n",
    "import numpy as np\n",
    "\n",
    "epochs = 3000\n",
    "batch_size = 1500\n",
    "\n",
    "#     # generate the data\n",
    "#     (channel_train, channel_test, preamble_train_orig, preamble_train_cfo, preamble_test_orig, \n",
    "# preamble_test_cfo, data_train_orig,data_train_cfo,data_test_orig,data_test_cfo) = data_generation(epochs)\n",
    "\n",
    "mc_losses = []\n",
    "\n",
    "# define equalizer NN class object\n",
    "net3 = CFO_Multitap2(preamble_length = 40, batch_size=1500, learning_rate = 0.001)\n",
    "\n",
    "for epoch in range(epochs):\n",
    "    \n",
    "    current_start = epoch*batch_size\n",
    "    omega_train_batch = omega_train[current_start:(current_start+batch_size),:]\n",
    "    preamble_train_orig_batch = preamble_train_orig[current_start:(current_start+batch_size),:,:]\n",
    "    preamble_train_cfo_batch = preamble_train_cfo[current_start:(current_start+batch_size),:,:]   \n",
    "    preamble_channel_batch = preamble_train_channel[current_start:(current_start+batch_size),:,:]\n",
    "\n",
    "    train_cost, train_omega_loss = net3.train_net(preamble_train_orig_batch, preamble_train_cfo_batch, omega_train_batch,\n",
    "                               preamble_channel_batch)\n",
    "\n",
    "    if epoch % 100 == 0: \n",
    "        omega_test_batch = omega_test[current_start:(current_start+batch_size),:]\n",
    "        preamble_test_orig_batch = preamble_test_orig[current_start:(current_start+batch_size),:,:]\n",
    "        preamble_test_cfo_batch = preamble_test_cfo[current_start:(current_start+batch_size),:,:]\n",
    "        preamble_test_channel_batch = preamble_test_channel[current_start:(current_start+batch_size),:,:]\n",
    "\n",
    "        test_cost, test_omega, test_omega_loss = net3.test_net(preamble_test_orig,preamble_test_cfo,omega_test,\n",
    "                                              preamble_test_channel)\n",
    "\n",
    "        mc_losses.append(test_cost)\n",
    "\n",
    "\n",
    "        plt.plot(epoch, np.log(test_cost), 'bo')\n",
    "        print('Epoch {}, Train Cost {}, Test Cost: {}'.format(epoch, train_cost,test_cost))\n",
    "#         print(test_omega_loss)\n",
    "        print(train_omega_loss)\n",
    "\n",
    "\n",
    "plt.xlabel('Training Epoch')\n",
    "plt.ylabel('L2 Test Cost')\n",
    "plt.title('NN Equalizer: no noise')\n",
    "# plt.text(1000, .025, r'NN equalizer')\n",
    "# plt.text(0.5, .025, r'Zero Force equalizer')\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "def make_data(preamble_orig, data_orig, snr, max_omega, channel):\n",
    "    num_preambles = preamble_orig.shape[0]\n",
    "    preamble_length = preamble_orig.shape[1]\n",
    "    data_length = data_orig.shape[1]\n",
    "    # QPSK\n",
    "    preamble_cfo = np.zeros((num_preambles,preamble_length,2))\n",
    "    preamble_channel = np.zeros((num_preambles,preamble_length,2))\n",
    "    preamble_noisy = np.zeros((num_preambles,preamble_length,2))\n",
    "    data_cfo = np.zeros((num_preambles,data_length,2))\n",
    "    data_channel = np.zeros((num_preambles,data_length,2))\n",
    "    data_noisy = np.zeros((num_preambles,data_length,2))\n",
    "    \n",
    "    for pre in range(num_preambles):\n",
    "        for k in range(2):\n",
    "            # apply the channel to the preamble\n",
    "            preamble_channel[pre,:,k] = sig.convolve(preamble_orig[pre,:,k], channel, mode='same')\n",
    "            data_channel[pre,:,k] = sig.convolve(data_orig[pre,:,k], channel, mode='same')\n",
    "\n",
    "        # rotate data according to cfo\n",
    "        preamble_cfo_complex = np.vectorize(complex)(preamble_channel[pre,:,0], preamble_channel[pre,:,1])\n",
    "        preamble_cfo_complex = preamble_cfo_complex.reshape((preamble_length,1))\n",
    "        \n",
    "        data_cfo_complex = np.vectorize(complex)(data_channel[pre,:,0], data_channel[pre,:,1])\n",
    "        data_cfo_complex = data_cfo_complex.reshape((data_length,1))\n",
    "        # print(preamble_cfo_complex.shape)\n",
    "\n",
    "        # build the rotation matrix\n",
    "        incremented_omega = np.zeros((preamble_length,1))\n",
    "        for j in range(preamble_length):\n",
    "            incremented_omega[j]=max_omega*j\n",
    "            \n",
    "        incremented_omega_data = np.zeros((data_length,1))\n",
    "        for j in range(data_length):\n",
    "            incremented_omega_data[j]=max_omega*j\n",
    "\n",
    "        rotation_complex = np.exp(0.0+1j*incremented_omega)\n",
    "        preamble_rotated_complex = (preamble_cfo_complex*rotation_complex)\n",
    "\n",
    "        preamble_cfo[pre,:,:] = np.squeeze(np.stack([np.real(preamble_rotated_complex[:,:]), \n",
    "                                     np.imag(preamble_rotated_complex[:,:])], axis=1),axis=-1)\n",
    "        \n",
    "        rotation_complex = np.exp(0.0+1j*incremented_omega_data)\n",
    "        data_rotated_complex = (data_cfo_complex*rotation_complex)\n",
    "\n",
    "        data_cfo[pre,:,:] = np.squeeze(np.stack([np.real(data_rotated_complex[:,:]), \n",
    "                                     np.imag(data_rotated_complex[:,:])], axis=1),axis=-1)\n",
    "\n",
    "        \n",
    "        # add AWG noise to the preamble\n",
    "        std = np.power(10.0, -snr/20)\n",
    "\n",
    "        if snr > 0:\n",
    "            preamble_noisy[pre,:,:] = std * np.random.randn(preamble_length,2)+preamble_cfo[pre,:,:]\n",
    "            data_noisy[pre,:,:] = std * np.random.randn(data_length,2)+data_cfo[pre,:,:]\n",
    "        else:\n",
    "            preamble_noisy[pre,:,:] = preamble_cfo[pre,:,:]\n",
    "            data_noisy[pre,:,:] = data_cfo[pre,:,:]\n",
    "\n",
    "    return preamble_cfo, preamble_channel, preamble_noisy, data_noisy\n",
    "\n",
    "\n",
    "def check_color(preamble_orig,j):\n",
    "    if preamble_orig[j,0]>0:\n",
    "        if preamble_orig[j,1]>0:\n",
    "            color = 'b'\n",
    "        else:\n",
    "            color = 'r'\n",
    "    else:\n",
    "        if preamble_orig[j,1]>0:\n",
    "            color = 'g'\n",
    "        else:\n",
    "            color = 'y'\n",
    "    return color\n",
    "\n",
    "\n",
    "def rotate_data(est_omega, data_noisy):\n",
    "    # rotate data according to cfo\n",
    "    data_length = data_noisy.shape[1]\n",
    "    num_pre = data_noisy.shape[0]\n",
    "    data_corrected = np.zeros((num_pre, data_length,2))\n",
    "    \n",
    "    for pre in range(num_pre):\n",
    "        data_cfo_complex = np.vectorize(complex)(data_noisy[pre,:,0], data_noisy[pre,:,1])\n",
    "        data_cfo_complex = data_cfo_complex.reshape((data_length,1))\n",
    "        # print(preamble_cfo_complex.shape)\n",
    "\n",
    "        incremented_omega_data = np.zeros((data_length,1))\n",
    "        for j in range(data_length):\n",
    "            incremented_omega_data[j]=est_omega[pre]*j\n",
    "\n",
    "        rotation_complex = np.exp(0.0+1j*-incremented_omega_data)\n",
    "        data_rotated_complex = (data_cfo_complex*rotation_complex)\n",
    "\n",
    "        data_corrected[pre,:,:] = np.squeeze(np.stack([np.real(data_rotated_complex[:,:]), \n",
    "                                     np.imag(data_rotated_complex[:,:])], axis=1),axis=-1)\n",
    "        \n",
    "    return data_corrected"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.36503109 0.93099533]\n"
     ]
    }
   ],
   "source": [
    "num_preambles = 10\n",
    "\n",
    "preamble_length = 40\n",
    "data_length = 200\n",
    "channel_length = 2\n",
    "preamble_orig = np.zeros((num_preambles, preamble_length, 2))\n",
    "data_orig = np.zeros((num_preambles, data_length, 2))\n",
    "\n",
    "for pre in range(num_preambles):\n",
    "    preamble_orig[pre,:,:] = ((2*np.random.randint(2,size=(preamble_length,2)))-1)*np.sqrt(2)/2\n",
    "    data_orig[pre,:,:] = ((2*np.random.randint(2,size=(data_length,2)))-1)*np.sqrt(2)/2\n",
    "\n",
    "\n",
    "channel = np.random.uniform(-1,1,channel_length)\n",
    "channel = channel/(np.linalg.norm(channel))\n",
    "# channel = [1,0]\n",
    "print(channel)\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.36503109 0.93099533]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae5f6de630>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae7caf6ac8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae7ca4e748>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae7c924d30>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7faeae1e8fd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae5f6bc6d8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae5f96dc18>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae5fe74048>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae5fe30b38>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae7c75e4e0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae5f852908>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae5fd88630>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae7c3ead30>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae7c47eeb8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQoAAAEXCAYAAABVgwqMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJztnX94XGWZ9z/3TNO005ZgEwjQNpOt/KpaUKlglVeqZXcBRaQLSJnWIviGllWqK6hr3lXYy4jrukJdLaVUpDYjP1bAFQERqohSQItCSykFLE2o0LRNpdCmTZvM/f5xzqSTyTkzk8yZyczk/lzXuWbmnGfOc2aS853nuZ/7h6gqhmEYmQgN9wUYhlH6mFAYhpEVEwrDMLJiQmEYRlZMKAzDyIoJhWEYWTGhMAJFRGIi8qvhvg4jWEwoKhwROV1E1ojIbhHZJSKPi8j73GOXioiKyDVp79kqIrPc59eKyEER2SMib7jnmunXn6rGVfUf8rjeiSKyQ0R+n7Z/toi8ICJdIvIbEYkOtQ9j8JhQVDAichjwC+C/gYnAJOA6oDul2S7gy25bP+5U1fFAHfAb4H8Kc8UA/AewMXWHiNQB9wD/hvM51gJ3FvAajDRMKCqb4wFU9XZV7VXVfar6K1Vdl9JmI/AE8IVsJ1PVHiAOTBKRI7zauKOU37vPRURuEJHt7ohmnYi8y+/87kjlXcCP0g7NATao6v+o6n7gWuBkETkx2zUbwWBCUdm8CPSKyEoROVtE3ubT7t+AL4jIxEwnE5HRwKeATuBvOfT/D8CHcATrcOCT7nu9zh0GfgB8FkiPK3gn8GzyharuBf7i7jeKgAlFBaOqbwKn49x4twA7ROTnIlKf1u4Z4FfAl31OdZGIvAHsA/4vcIE7usjGQWACcCIgqrpRVV/3aXsV8JSqPu1xbDywO23fbvfcRhEwoahw3JvzUlWdjDOsPwa40aPp14BFInKUx7G7VPVwoB54Djglx75/DXwfZ6TQISLLvWwhInIMjlA0+5xqD5D+vsOAt3K5DiN/TChGEKr6AnAbjmB4HbsH+GqG9+8ErgCuFZGjc+zze6p6Cs404XjgGo9mpwJHA8+LyDZgCXCqiGxzpyQbgJOTjUVkHPB2d79RBEwoKhgROVFEvigik93XU4C5wJM+b7kO+DSOPcETV1AeAr6UQ//vE5HTRKQK2AvsB3o9mj4INALvdrevAX8G3q2qvcC9wLtE5J9EZIx7fJ17LUYRMKGobN4CTgOeEpG9OALxHPBFr8aq+gqwChiX5bz/CTSJyJFZ2h2GYxv5G9CGY8j8jke/3aq6Lbnh2B8Ous9R1R3APwEt7rlOAy7O0rcRIGKJawzDyIaNKAzDyIoJhWEYWTGhMAwjKyYUhmFkxYTCGFZEZEMyUtUoXUwoSgw3kOoqEXlORPa6Id//IyLT3eO3icgBN+w7uX0y5f2Xish6Nxx7m4jcJCK+fhFp59slIg8PJthKRLaIyJlD/byq+k5VfXSw7xtM2LmINLptutz3nJly7F0i8pCI7BQRWwL0wYSi9FgCLMZxaZ6I4834M+CjKW2+rarjU7Y7AUTkizhh2tcANcD7gSjwsBvQ5ce33TDyScBfgR8G/JkCZQhh57fjOHDV4riJ/zQl+vUgcBdwecEuuBJQVdtKZAOOw/FcPDVDm9uAb3jsPwwnJuKitP3jge3AZbmcDzgH2Jvy+u3Ar3GcpXbihJkf7h5bBSRwgsX2AF9y978fWAO8gRP1OSvD59kCnOk+PxXnpn8T6AC+6/OeJmBNyutx7jWc6NH2eJz8GxNS9v0OWJjW7ljndhj+/4NS3GxEUVrMBraq6h+G8N4PAGNwfmn7UNU9OC7Sf5/tBG4MxVzg5dTdwPU4wWTTgCk4+SBQ1flAO3CuOiObb4vIJOB+4Bs4v/ZXA3f75a9IYwmwRFUPwxGou3zaDSbs/J3AZlVNDSB71qet4YMJRWlRC/iFYadytZuW7g0R2enuqwN2qnf49+vu8Yznw3H5Ph2Ynzygqi+r6sPquFnvAL4LnJHhXPOAB1T1AVVNqOrDOKOEc3L4XAeBY0WkTlX3qKpfTMpgws4tRD0ATChKi06cKMpsfEdVD3e3pADsBOpEZJRH+6Pd4xnPhxOYtQ84IXlARI4UkTtE5K8i8ibQSmbRiQIXpgjZGzjik8vnuhxnqvCCiPxRRD7m024wYecWoh4AJhSlxWpgsojMGMJ7n8CZi89J3elOJ852z50RVW3HMaQuEZGx7u7rcRLfnOROCebhTEf63pZ2mleBVSlCdriqjlPVb+XQ/0uqOhc4Esco+1P3+tMZTNj5BmCqiKSOIE72aWv4YEJRQqjqS8BS4HYRmSUio0VkjIhcLCJfyfLe3Thh4v8tImeJSJWINOIkwt2KY3jM5RoeBl7DMRiCM0TfA7zh2h/S80l0AFNTXrcC54rIP4pI2L3+WclQ90yIyDwROUJVEziGUPAOS8857FxVXwSeAb7uXsv5wEnA3W6f4p5jtPt6jIhUZ7vWEcdwW1Nt67/h/FovxvnF68JZrrwTeKd7/DY8Vj1S3n85Tij5Ppyb+GbgbRnaDzgfTm7LvwLVOEa/p3HE4hmcEPWtKW3PwzFovgFc7e47DfgtTobvHTjGzQaf/rdwaNWjFWeFZo/7+T+R4brPBF5wP+ejQGPKsWXAspTXjW6bfcCmZH8pxzRt2zLc/weltlmYuWEYWbGph2EYWclbKERkiuseu9H121/s0UZE5Hsi8rI4tR3em2+/hmEUD6+ltMHSA3xRVf/kWpafFpGHVfX5lDZn43gdHoczf73JfTQMowzIe0Shqq+r6p/c52/hVJ6alNbsPODH6vAkcLjkmMXZMIzhJ4gRRR/uctx7gKfSDk3CWV9PstXdN8ALUUSacJfmxo0bd8qJJ1rVOMMoFE8//fROVc3qXh+YUIjIeJy16c+rU6Gq32GPt3gut6jqcmA5wIwZM3Tt2rVBXaJhGGmISFsu7QJZ9XDrNtwNxFX1Ho8mW3GCiZJMxnHqMQyjDAhi1UNw8hdsVNXv+jT7OfApd/Xj/cBu9a9BaRhGiRHE1OODONGG60XkGXffV4EGAFVdBjyAEz34Mo634acD6NcwjCKRt1Co6u/xtkGktlHgn/PtyzCM4cE8Mw3DyIoJhWEYWTGhMAwjKyYUhmFkxYTCMIysmFAYhpEVEwrDMLJiQmEYRlZMKAzDyIoJhWEYWTGhMAwjKyYUhmFkxYTCMIysmFAYhpEVEwrDMLJiQmEYRlZMKAzDyIoJhWEYWQkqC/etIrJdRJ7zOT5LRHaLyDPu9rUg+jUMozgEVdfjNuD7wI8ztPmdqn4soP4MwygigYwoVPUxYFcQ5zIMo/Qopo1ipog8KyIPisg7i9ivYRh5Emjt0Qz8CYiq6h4ROQf4GU5l8wGk1h5taGgo0uUZhpGJoowoVPVNVd3jPn8AqBKROp+2y1V1hqrOOOKIrLVTDcMoAkURChE5yi09iIic6vbbWYy+DcPIn0CmHiJyOzALqBORrcDXgSroKyl4AbBIRHqAfcDFbvUwwzDKgECEQlXnZjn+fZzlU8MwyhDzzDQMIysmFIZhZMWEwjCMrJhQGEUhHofGRgiFnMd4fLivyBgMJhRGP/xu6Hxu9HgcmpqgrQ1UncemJhOLskJVS3Y75ZRT1Cgcra2q0aiqiPO4aJFqJKLq3M7OFon4729tza2faLT/e5NbNFq4z2bkBrBWc7gXRUvYnWHGjBm6du3a4b6MiiT5K9/VdWifiHMLpxMOQ2/vwP3RKGzZkr2vUMj7vCKQSOR8yUYBEJGnVXVGtnY29RihNDf3FwnwvpnBWyQA2ttz68svZMdCecoHE4oRSq43OTgjCi9yvdFbWiAS6b8vEnH2G+WBCcUIxe8mdyJyDhGJOFOUfG70WAyWL3emKiLO4/Llzn6jPDChGKH4/covXDjwhl66NP8bPRZz7BmJhPNoIlFeFCsfhVFiJG/U5mZnGtLQ4IiH3w0ci9nNPZKxEcUIphJ/5ZP+HiIwapTzaA5e+WMjCqNiSF/yTa7WJB28oDLEcDiwEYVRMXgt+c4lzis08lZXiDMWNNrQYojYiMKoGNKXfOcS5xaaGIejHpN7bWgxVGxEYVQM6Uu+36S5TyT66OqCefPMcDFITCiMiiF9ybeBDF5lFpk2KEwojIoh1bEL4FWyuI52dTmGDSMrxao9KiLyPRF5WUTWich7g+jXKEEyxKnH664iKlsISYJxkS3UzbuK+Ppgf9GTS76qEG318CpLZzC+7COZXEJMs23Ah4D3As/5HD8HeBAQ4P3AU7mc18LMi0vrulaN3hDVS+agr74trAlxY8FzjSdvbfWNU//xqPkaYU9aqHmvQq/WHv1Wzl0M/kO1+se5W6x78cPMRaQR+IWqvsvj2M3Ao6p6u/t6EzBLVV/PdE4LMy8e8fVxmu5r4rynu7jlPhh3MOVgJELX0iWsm/0u2t5oY+ubW3n1zVfp3NfJngN72HNgD10Hu7j7S09zVGf3gHP3hoS3JzbTRqNv/5FIgeM/vOLqC95p6ZNrmHmxlkcnAa+mvN7q7hsgFFZSsDjE18dpXt1M++52Gmoa+m72b65OEwmAri52fr6Jz/7He2k8vJEph01hymFTeM9R72FC9QQmjJ7A2Kqx1O/6kGdfoYTSnsVekDQXxGLOPZ2ra3nODNZn3ehPLsOOXDagEf+px/3A6SmvVwOnZDtnpU890jNMFXz4LaJaW6v7asZpL+grNejcOSjXHtp6fYboCZHs/fgM8Q8KGuUV39F/chNJ6K0r9w+cvchebV30uwJ9OSMbcpx6FEsobgbmprzeBByd7ZyVLBStrapVVf1viKqqAoiFl90gZdtT1V8sXqnJYy7vY6O47QPj9IehuR42iv7bmNptKoe3eR4Lc7DwYlE05S4dSk0oPkp/Y+YfcjlnJQtFba33zVJbG3BHmQx57vZKzSGhmDvHEY8hJ8j0uNla17XqpRdW6Q1j52oDr/QZMb26EEn4XmpE9hZ21JVPYtAypahCAdyOY284iGN/uBxYCCx0jwvwA+AvwHpgRi7nrWShAL8bIpH3uZOrF3Kt+E4lUrdeHJGo/Y/a/FY9crym6A1RXXT97zx/vLPpWjSqhfnlH6EZgIs+oijEVolCkbxhCiUUretaNdIS6RsdHJTsQvFKDRppiWjruuH/9WxtdUYO/pfbq71jx/bfGcQvv4h3h7nYZsqYXIXCPDOLSHIJsm13G4zd6d3Ib3/GEx9ycjrjjAWc93QXc9fBLffBKM381r1V8N2P1bL83OXEpg//CkAsBssX/okwPZ7HJ4e2Etq3r//OIDwsLQNwZnJRk+HaKm1EEb0hemiFYc5cJby//w9YeL/Wxj43uJN6zK33VKHbx3r/JPeIc6wX9K3aaMnOwVsX/W7AyCISUW3lksL88puNwkYUpUL77hR34ZNuh/M+DTVbgATUbKFqzkKWfPm0nM8Xj8PWBQOTMIw7CHX7vN8jCkd+IcI/fKGV8Tu3lKwfQWzp6SxfFRmYpzP6uGf7nsmT8uwwQwZgq4doI4pi0m9EkbZFb4gOykaQ/AHsxXtunfCZ5G85LKyLlpbxr6THL3939Si9Yu4Evfv5u4vSXyWNNDBjZmnQz9fp6Le06sJL+wnEUI2ISSP9K0Q9BWH7mFB+y5yljMeqx1Nbn9LGGxv1x9ecpYmGhuBWRPxWQwJfxx4eTChKAK8fo9FjDmpt7HN9y4SDGkWkLDHy+agyvVXn0qp7SLNRENFLaB1xDkRv3Xqz7hsd7vsets1G19wh+ptfo2vWRHXbtiF8fr/VEKiI7zNXobDaowWksdHJj5JOrjU7U4mvj3PZvU0c0BR7hAJdtcy9/SK+ufUBGminnQa+SgtrorFB91H2pHzhHbNh09WQGHPocCgU4YQTllNfPwi7jN8fEYb2hywxcg0KM6EoIEEW561raaSzx+cf9kAE7lsO650bYMQGRaZ84U/cDt1HDWyyc2eU7u4tuX838biTOs+LCqiybEWKS4Cglubj6+N0HvQRCYDRXTDb8SMY0eX6Ur7Y7iO9m0yc2D64DHixGNTWZu2v0jGhKCBBFOe98v4rmX/PfMcJPgNyeDuqlVPIZ0ikfOHV272bbN/e4PhnLd6T+3mXLBnxVZZNKApIvsV54+vjLFu7DCX79LChZuT8uvmS8oVPXQGh7v7qun9/hBUrnJu7rXNc7sMKq7JsNopSJb4+zoJ7F9CrvVnbRqoiJeOCXUp0dMT53e+amTixne3bG1ixooXVq53vSEiwqvbzxHZ+b5ivcngptQxXxiBIxoRkFIlEGEIJojUNtMxuMZHwoL4+Rnd3jDNnJ0h3QlZCNHf+C/at5YaNKEqQxhsbncAxHwRh1ZxVJg45IpLAa5YtJEjoyJ5926pHGdO22z+FvCAsnLGwJESioyPOE0808uijIZ54opGOjtKMgYjWdnnun+Kz3xiITT1KjHgcZHcDWjNwRBGWMCvPX1kyIrFpUxOJhHOzdXe3sXHjPDZudHwORMYRCo2ht7cTCAO9VFdHmTq1ZXAOTwHQsmQ8TZf10HXg0L/7qHAXs656HPjHol5LuWJTjxKjsRHaDovDuU2Of4SL9ERYddHwGSw7OuJs3txMd3c71dUN9PTscUVg8IiMQ7WL6uqGoglHembvq766jet3T+exSx9j2hHTCt5/qWKemWWKJFf0pscdJ6qadtjdAKtb0HXDJxKpo4egCYdrOf74JUUfady89mZW/HkFay5bQ1W4qqh9lwpFtVGIyFkissktGfgVj+OXisgOEXnG3T4TRL+VRjwOIq5wr4/BjVvgugTcuIXom8M33di8ublgIgHQ29vJpk1NRbdxNJ3SxIV/PsDeSUeM7FwTOZC3UIhIGCdx7tnAO4C5IvIOj6Z3quq73W1Fvv1WIs3NoDrQBVOk8E6AmQyT3d2Fr8+ZSHSxceOCooqF/OQnXH3bSxzesduJEWlrg/nz4cori3YN5UIQI4pTgZdVdbOqHgDuAM4L4LwlTXx9nMYbGwldF6LxxsZAiu22t3tPA1UL6wSYnFp0d7cBSnd3W79f+Opqb6/PUaNqqa6OBnglvcUdWTQ3D8y/qQrLltnIIo0ghMKvXGA6/+RWMv+piEzxO5mINInIWhFZu2PHjgAuL3hSk+QqStvuNubfM58r78/vl2hsrXdi3WiQ92IaHR1xNm5cMGBqkUh0sXmzE2g2dWoLoVD/WIdQKMJxxy1h5swtzJqlTJvWyqhRh4KnRMYRDvsEU2XgV693cfJtCwIVYF9SKpnHmUsjrxCil0bdTHzxU4XrtwwJQii8wpXSfxrvAxpV9STgEWCl38lUdbmqzlDVGUcccUQAlxc8zaub6TrY/8ZSlGVrlw35H3vNq2sY84//zthI/6+ukLFHyZEEeHuAJqcc9fUxTjhhuTt6EKqrowPyOtTXxzj99J3MmqXMmqWcccYe/s//2dknIsn3jhpVi8g4z/4e6YDvvAgd+3v7BPjyn83j2rvrCjPKcKM/48yliVtooxElRBuNNHVeb4OKFPJe9RCRmcC1qvqP7ut/BVDV633ah4FdqlqT7dyluuoRui7kG6gVrYmy5fNbBn3OM398JrHpMUY//+mC1tFNXeZ0fif83cSrq6PMnLkluM7TrmPjxgX9+r/4SegYWAyd+mq46wNDSDqTjXgc5s+nUb0rrVdAXpqsFDPW44/AcSLyd8BfgYuBS9Iu5mhVTVYu/ziwMYB+h42GmgZfF+v2DF6Vfjy19Sle2vUS806aR9V7CmePGLjM6S8SoVCEqVMLZ0FN3vCp17PdQySS+5NToUCFIhaDxx+n/SZvG0x74W24ZUPeUw9V7QE+CzyEIwB3qeoGEfl3Efm42+wqEdkgIs8CVwGX5tvvcNIyuwXxSRAxlHDv639/Pdd84JqCr+XnvswZDv7X24P0Kc2RY8Ke7Y6sdh4LsvqydCkNPq7cIygvTVYC8aNQ1QdU9XhVfbuqtrj7vqaqP3ef/6uqvlNVT1bVD6vqC0H0O1zEpsdYOGPhALGIVEVomZ3br3Dqqsl9L97HuCrveXuQ5HKjhUIRpk1bWTTnp/r6mGsQTfBf56wkUtXfaFodgvdPdKYlH/mtFsTA2bJk/IC8NOCsltbV2QIIWFDYkFn60aWsmrOKaE0UQYjWRHPOCZG+apLQBJ998LMFsfCn+kf4/7nD+Bkpi0lseozl5y5n8vhaBMc2cVY9/LLDsV0o0La7jab7mgL9rpJ5aZyMd/1tT52dcNllJhbmwj0M+IWRD9UQ6kcurtdDykxdBJJG1/N/2+Zp4CxEgFyFJ9z2xMLMSxi/MPJM4eVDwd8mURojiEwkpyTbu71tQb3aG/jIIpPx0k9ARgomFMNAeI+3lcxv/5CIx+ne7/ffnWDWrAQzZ24pSZFIJZNxuOtgF82r86xintpXhq9fZGRPP0wohoHeh1qcWhypHIg4+4MgHoemJqo7vA/7uWSXIi2zWwYYOFMZynK0b18tUJWy8DR7dpzbb29k9eoQP/lJI/fdN3KVwoSiyCxd+ntCGz7pFOx5IwoqzuN9y4OLEG12KpxPXQGh/f0PFdo/ImiSBs6weC+dBpl9PBaDH/3IeT57dpyrr27iqKPaCIWUo45q49JLix/hWiqYUBSReByuWvESiauOhTnznZ33rIIbt1D94vnBuWq7E+r61XDCd6B6G5BwHkvVJpGJ2PQYK88fuHQ6mOXonPuKOYbLz3ymmTFj+tt3xow5FP8y0rBVjyJS9+E4nR/on7nKKQe4jOaP/5JvfCOgX6tRo6DXw+syHIaenmD6GAbi6+M0r26mfXc7DTUNnHPcOTzw0gN9r4PKRh6Pw9FHhwiFvO4NYdas8i4jmIqtepQgne9u7i8S4JYD/H989KOP599BPO6s8XmJBPjvLxNi02Ns+fwWEl9P0DK7hZXPruwXwRvUKkgsBomE95SmnOw7QWJCUUw8EuY6+9vztxu4BsyM63iFjFcvMl4RvEGugkyf3oLImH77ys2+EyQmFEXFr4Co5G83cA2YvlRYrUy/1Y6gVkGcOJQV7OgOUeo+J8XAhKKo+NmDArATZfIWCocrrlam32pHkKsgRx0V45bts9l7zH1l4XNSSEwociTf1HcFzdQEMHGi/7FEoqJEArz9KwqxCvKOI97Bxp1DzIqQtBlVQOJeE4oc8Ep9N1jDWfPqZt+ZR6h78Cnj+l9gHN56y/94BcZLx6bHWHDygj7/irCEWXDygsDrnkyrm8bGHUMQilSbUTJxb1NT2YqFCUUOBGE48507K1zRsCSfy3PsEwcOeB+rMNtEkvj6OCufXdlXyLlXe1m2dlneeUv79RGHr533KW79xC2DHxB42Yy6upz9ZYgJRQ4EYTjznTsLfPD0oVxV6oVkuI4Ks00kKUTe0lSSA4Ltr40FQoPP5O/3NynTtFkmFDkQhOHsnOPO8T2W95Ken32itrYiRQL8RVrRQJZIvQYEg8rk7zfdK9NpoAlFDgRhOHvgpQd8jwUZ2DRSyCTSQXyffj/8qjnOHlpaGJA2q4yngcUqKVgtIne6x58SkcYg+i0WycCkoWSzSpIp10TeS3qdPsWC/fZXAEHnLR1wjpRTzCXOKzTSS4hXaOSDbTkMKZJps6JRJ0Y9Gi3raWAQ6frDwIvA3+MU//kjMFdVn09pcyVwkqouFJGLgfNV9ZPZzl0psR7xOMx/uhH18MwUhFVzVuVnra/Q2I5sXHn/lSxbu6xf6YRIVWTQIu6Fm8mfizXOLTQxjkPzkC6JEFlVvjd9KsWM9cilpOB5HCr681Ngtoj4uSlWHM3NoI945KBQYeGMhfkv6VVobEc28slbmo1YDBYuhG/S3E8kACJavqsXQ0ZV89qAC4AVKa/nA99Pa/McMDnl9V+AOp/zNQFrgbUNDQ1aSrSua9XoDVGVa0WjN0S1dV1rTu8TUQVVprcqn48qXxfncXpu789KNOp2kLZFo8GcfwSTQLy/W5HhvrRAANZqDvd5sUoK5tLG2VmiJQXzcbrqm++uj8GNW+C6BNy4BXkuFoz/jZfhTATO8V9pMXIjMdlnRalMVy+GShBCsRVILTo8GXjNr42IjAJqgF0B9F008nG6amlx7tt0cragZyMWgwUL+neiCitXlq0n4HATj8PFF8d5bu6b9Fb3P5YYO7psVy+GShBC0VdSUERG45QU/Hlam58DC9znFwC/doc9ZUM+TlexmHPfer4/qJXRBx4Y2EkZewLmSr4xOJ7ndJ2tPvGJZv52zkE2XQ37652shfvr4eUvTagIQ+ZgyLv2qKr2iEiypGAYuFXdkoI485+fAz8EVonIyzgjiYvz7bfY+NUbzXUpLhr1ThUR2AjWLw9FBeeZv/L+K7lp7U19r9t2t3HZ/14GkJdBM+lsVV/vfHfbz3S2Q+zi+CGfvTwpVknB/ap6oaoeq6qnqurmIPotJvk6XfmZCwIzI4S9k8/67i9z4uvj/UQiyYHeAyx+cHFe525vd5LrqnovzI3ELFfmmZkj+TpdPeDjmOm3f9CMsCXSTLahzn35OZo1NDjJdf1yZo7ELFeWXLdIhELedgoRJ11E3vjVwxOBVasqbk4dui7Uz9EqHf360P+v43E45hjxNEADzJpVuvfMYLHkugViqMazgscIZVpaWZzfULwUyWQbqh2bZ34PIJHwm7JV5lQuGyYUgyAfX4qCuzpkWlrp7KyoZdL4+jh7DuzxPBaWMEvOzi+/R3MziPhN2SpzKpcNE4pBkI8vRVFcHTJl2a6AZdJ4HOqO2cO8k+bS+ZVtcG0v3PAKrJsLOCOJICqct7fD9u3e32V1deVkMh8MJhSDIN8ENgV3dcjkBFSmCVOSJH0bOl8fD4RARzmPuxvhvltg3SUsOXtJIHEeDQ2wYkUL+/f3HwJ2d1u6fiMH8k1gU/CkR7GYk6zGizJ3Oc5YjeDgOFjdElhNj5YWmPIYvOf8sZzxYTjtk1B9dy1791q6fiMH8vWlKErSoyVLKiphSpKsYrq7IbAEQDHi3CJN1O/vRICx2+F9y/cxZ18gpy9LTCgGQb6+FEVJepSeMKW2FsaOdZIrlHHK+KxiWtMeXE2P5mbVmpDIAAATFUlEQVRGHeg/fBl1oPLd4TOSS4jpcG2nnHJKXiG0pUhrqxP9LZLQsXUd2hpQpLlvZ5HIwPDoRYsK2Glh8PoofVvVHmXOJTmH/Wej0kPLU6GIYebGIIjFYMsW+FvXm4z6l2M594I3C9dZ3hliS4P4+jjNOxrpOitG6PBXgQRIj/NYswXObWLRZTWBGDLvuSdOV53PbVHmdp58yDsozBgaNWNqOKPxDH7x4i+4ZPolhekkW4bYMvDWTPqudB3sgpPaSJz0E6pCVRxWfRi79u2ioaaBltktgYhER0ecceOaaLuilxO+A+HuQ8e6JEKkzO08+WBCMYxcMO0C7txwZ+GEoqHBP3q0TJZLr2j5LV2/3AC7G6CmHWZ/lYMn3c740ePZ+aWdgfa1eXMz1dVdfZGiU1dA9Xboqg3TtHM58TIQ1kJhU49hZM60OTzW9hivvZWe5ycg/Ny6oSyG0Wd+8gX23rnM8ZXo5zMxtyAlDrq7D51z+5nw5B3w21/DU3cmeDw6ckUCTCiGlQnVE7joHRfxoz//qDAdJDPEpotFGSyXxuOw+q7jGfAvenAcrP5moFXLk/iFj+/Y0VDqX1fBMaHIgyCyKzWd0sQtf7qFnkSB0uovXepEj5ZZfQlnJdLn33N3Q+BVywGmTm1B6Z/3rrs7QlVVS6l/XQXHhGKIBFHhHOCUY05hSs0Ufvr8Twt0pRxaakkknMcS/a+Pxx1Xj1Aoc2Ku0OF/DbxqOUB9fYyfbm+kN1QHCNXVUd797uXMmVOa31cxMaEYIkFUOE/y1dO/yjX/9WeiUSUUKmu/qJxJFYXGRqf4b1OTIxCZU6QkuOLLhUnv9+TWJ/nFa/s44/TXmTUrwcyZW0asy3Y6ea16iMhE4E6gEdgCXKSqf/No1wusd1+2q+rH8+m3FAiiwnmSXX84i7/+ZBZ6wLEltLU5Nw2U7I9/XiQDvJIuHm1tjmtH9hxKCWZf9CJLv5Jv+fdDdHTE2by5me7udt7oqeZbp8UYFbLFwHTyHVF8BVitqscBq93XXuxT1Xe7W9mLBART4TxJc7OgB8b229fVVZH5ZgB/PzA/kqaV1tYQj9x5YmDX0dERZ9OmJrq72wDl8FH7mXTwdjo6Knw4NwTyFYrUUoErgU/keb6yIYgK50n8XBoqLN9MH4Nx4QiHC2da2by5mUSiv2IlEl1s3jyCYzp8yFco6lX1dQD38UifdmNEZK2IPCkiGcVERJrctmt37NiR5+UVjiAqnCfJ5NIw3HFI6baEoQhX+jkm+hTf8qKQuYFT/SZy2T+AIL6cciFbMAjwCE7t0PTtPOCNtLZ/8znHMe7jVBxbxttzCUQpp6CwodYlVXUCnjyDndxtuPAKxIpEnP2LFqmGw86+cFh19uxksJvzmAx28zpHVZXq6NED462KXT51zZqo/uY3DNjWrMmh00xfThlBjkFheUV3ApuAo93nRwObcnjPbcAFuZy/XISidV2rRloiyrX0bZGWyKDEorbWP2BxuP73/GofjxuXWdhS7xm/c9TW9heWRYuKf99t29aqD/863E8kfvvbiG7blkOnFVIYOlehyHfqkVoqcAHwv+kNRORtIlLtPq8DPgg8n2e/JUUQS6VLlvgn0Z43b3hGtn62hL17s783meLP7xy7dvV37Vi6tH8ajWL4hf1xdw0/bH8bo0dPIek3ccIJOWaxcj9Yx2x44nZ4dLXz2HFsZVZmy6uuh4jUAncBDUA7cKGq7hKRGcBCVf2MiHwAuBlI4NhEblTVH+Zy/nKp65GpxsRg6kv4hWUkiUSK61TpVyokV0T849KiUUcghoudXTs56aaTuOOCO/hQ9EODP0FjIx3HtvHCl0BHp+xXOGbSIo4/fmlg11pIilLXQ1U7VXW2qh7nPu5y969V1c+4z9eo6nRVPdl9zEkkygm/JVFBBuWpmSmJNhS/5rBfRq5Qjv81DQ1Fyuo1SBKa4FP3fop5J80bmkgAtLTw0ufSRAJA4LXXbqq4JVbzzAyAltktCAOHA4oOavrhdVOl09ZevCpV6Vn1ktOBK67I/t6kGPidYzgdya579Dr2HtxLy0fyUKtYjJ7D/A9X2hKrlRQMCLnOe94gCImv514zMB536n/4LQuG37aVnl2Th3KJgXLllc4N39vr+DrMmgUvv+xM3ZMjiVLxKo2vj9O8upn23e3UReroSfSw8Z83Uj++Pq/zPvpoprmiMGtWELUiC4uVFCwy0RrvecNgPTVjsUy1SJXeD395cBdWIJYuhZ4ex9ja0wOPPFKacWfpwXs7unaw7+A+HnnlkbzPHQ77ly6stIrnJhQBEaSnpq8D1tidXHTuL3niiUYefTTEE080VtxcOGi8VqT29+4PpAbI8ccvwesWEhldcYWCTCgCIkhPzZYWGD0mLT9F1V7e+cnFXN7wRl9sQnd3Gxs3zufFF68M5kNUIEEG76VTXx9j2rQf9xtZjBpVy4kn3lpxUacWJhcgsemxQPIkOMP2USy+Zg+dr0egpp3aj32XGy59iCpNn5cor722jJqaD1bcP2cQHD3haM9Ug0POkBWPH3IQaWigvqWF+liwuTtLERtRlCixGOx8bTyqIfSNRna2fo+qgRH8LlpxVvYhkRZ78frN/8X+nv1Uhar6NRvqlLAvPj6ZNCOZD6CSYzxcTCjKiEwGsu7utpFts/C4iWs+dzU/PTiHH33iR4FMCT3j44vt3DJM2PJoGdHREWfjxvng4wUK0J0Q9k5YyJz3lYdnYL4kE8+85/w2xnR4NMjXBTR1quF3r4hkWqoqaWx5tASJr49T9+065DpBrhPqvl03KM/N+voYxxyzEDycu5JUh5SDncuGlOi33OjoiLPr+5/mPee3Ue0lEpBf/ZJ4HC67LHt+vjIofZAvJhRFIr4+zqfu+RSd+zr79nXu62TBvQsGdVMff/xSpk1bRXW1v7/3EdWD8wgtV/72gys4/j8PMqYjg3TmcxMvXgwHDmRuM9z+6EXChKJILH5wMQkGDk97tZfFDw4u5119fYyZM7f4isX27mCW/0qZjo44jcv39iv7N4B8b+LOTv9jpeKPXiRMKIpE6khiMMcyMXVqC92J/r+l+3thxWY4fMzhhasVUkxSVjLiH66jsaWO0HUhTr5tAXf75FNTKPxNXGouqAXGhKKMqa+PsXfCQjr2CwmFbfvhO5vg8b+N4ajxR3HaitN4autTdHTEy9ObM2UlI/4upekDnbT1dKIoHft7afo4xKcPfFticm0wN3Gtj4u23/4KxoSiSNSOLcw/15z3LaVn0iouezbKJU8JLx+IsuLjK9hw5QYWn7aY7zx8FuueX9DPm3PTpqbyEIuU5cjm2dCVFtLdVQVfPbP/vt5qCH9rSTD9L1kCVf19MKiqcvaPMGx5tEjE18eZd888z2O1Y2sDr8ydZM0TDRzofnXA/uqdYaYu62XzwjDdtb1Uj4kydWpLaXl3hkJ9qw2hr4N6WCxFoWuZU3W8+0ih+2sLqbkywKXhNE/MkgqLDQBbHi0xYtNjLJqxaMD+0eHRLDm7cL9QB7q3eu7vntjLhi9Bd10viOOwtWHDpXRcXFfUrNKH6rcKjdeMIn6S9PXdO3lSX7uG3d7vP3JsmCfvEJ58PMruZ1cFKxJQNuUYC40JRRFZ+tGltM5p7ecleOt5txakjmYSP29OVQilDeVDoR7WX9R5yD153jyoqxsgGEEUZ06e51AIOLSN76XpXIgf1kb35Qu4dVIH3aPDALSshkjaSmWkKsJ/nbPSyv8VgXxzZl4IXAtMA05VVc95goicBSwBwsAKVf1WLuevpKnHcJGshpVa6Ca035nL+yXz/fBH0naK0NHyETbPepn93W1s3y+s2anMrIMjq+GtgzC+ejxh3UtPaCIrNsNdbbtoqHGrjv/+cZo3L6d9XC8Ne8O0TG0itmgpjTc20rZ7YELN6Buw5UbonTKZ8PXf6hv6x8+YSPOZ0N5z6NyFFNmRQK5Tj3yFYhpO0tybgau9hEJEwsCLwN8DW4E/AnNVNWsmbhOKYEitr1m9M8TUZb385mo4aszAttv2w8Vnp71/Nmy6GhIp7VX9kwHv73VWX1bvgCrCSE8vB1LilCMH4d8mfIx/3f8Lz/eLQuI6yto1ulwoVnLdjaq6KUuzU4GXVXWzqh4A7sApHmQUiaSD1qxZCWZ2r6T+iQg/e865oVPZ3ws/e27g+zd/pr9IQOaM4WPC8JmpzvOD9BcJcFYrfrD9F0wYPcHz/X32iBHgGl0uFMNGMQlINbtvdfd5Ui4lBcsWN9vtuffX8r3nnRFE0gfje8/DuT8e+JZuv0KRGTiyOvPxv06Amz5208CsYAcce8RIcY0uF7IKhYg8IiLPeWy5jgq8fnt85zuqulxVZ6jqjCOOOCLHLoxBEYsR+81OYrNa+coLUc58TPjKC1FioxYRe22gv0f19sF3sT2TazXQsDeclhUMonvCLL8PYm+OHNfociFrhitVPTNbmyxsBaakvJ4MDEw5ZBQdz4xci5Y6KbaXLevzYZi6YvA2ihWbned+NoqWqU3e1/Cf+X4qoxAUY+rxR+A4Efk7ERkNXIxTitAoVZYuhVWr+opx1L8c5YSuRW4QmlN6b9Ik97VCeDeMegNIQM8uuO0Z+PUOJzP5j+as5NZjFhHdE0bUHTVMWkRs0cjIl1Ex5FKg1G8DzscZMXQDHcBD7v5jgAdS2p2Ds/LxF6A51/OXS5HiEU+yGnF6KXOj5CHHIsXmwm0YIxhz4TYMIzAsXX8FkVo6b9L4iVzeCLNqd1Fd3VB6AV9GWWFCUSHE18f59M8+zcHEQQC27unkG89Bz4lwZr0TWg6YWBhDwqYeFcLiBxf3iUSSXuC/X3KeJxJdVvvDGDImFBWCXzq9N1PctLu7KzuPplE4TChGEJVWYdsoHiYUFYJfqr3DXCtUKBQZUoXtss23aQSKCUWFsOTsJYwO989EUyXwuWOhujrKCScsH7QhM5nLoizzbRqBYqseFUIyXiK5PBpEYpfNm5v7JbyBQ0ZRWz0ZWZhQVBCeQV554Gf8NKPoyMOmHoYvfsZPM4qOPEwoDF+mTm0hFOqfWGaoRlGjvDGhMHypr49xwgnL+4WXD8UoapQ/ZqMwMlJfHzNhMGxEYRhGdkwoDMPIigmFYRhZMaEwDCMreQmFiFwoIhtEJCEivum0RGSLiKwXkWdExHLbGUaZke+qx3PAHJySgtn4sKruzLM/wzCGgbyEQlU3Akim+nKGYZQ9xbJRKPArEXlaRJqK1KdhGAGRdUQhIo8AR3kcalbV/82xnw+q6msiciTwsIi8oKqP+fTXBDQBNFiRWsMoCYpRUhBVfc193C4i9+JUOPcUClVdDiwHp65Hvn0bhpE/BZ96iMg4EZmQfA78A44R1DCMMiHf5dHzRWQrMBO4X0QecvcfIyIPuM3qgd+LyLPAH4D7VfWX+fRrGEZxyXfV417gXo/9r+HUG0VVNwMn59OPYRjDi3lmGoaRFRMKwzCyYkJhGEZWTCgMw8iKCYVhGFkxoTAMIysmFIZhZMWEwjCMrJhQGIaRFRMKwzCyYkJhGEZWTCgMw8iKCYVhGFkxoTAMIysmFIZhZMWEwjCMrJhQGIaRFRMKwzCyYkJhGEZW8k2u+58i8oKIrBORe0XkcJ92Z4nIJhF5WUS+kk+fhmEUn3xHFA8D71LVk4AXgX9NbyAiYeAHwNnAO4C5IvKOPPs1DKOI5CUUqvorVe1xXz4JTPZodirwsqpuVtUDwB3Aefn0axhGccm3mnkqlwF3euyfBLya8norcJrfSVJLCgLdIlKJxYLqgEqs7F6pnwsq97OdkEujQGqPikgz0APEvU7hsc+3VGBqSUERWauqM7JdY7lhn6v8qNTPJiJrc2mXd+1REVkAfAyYrapeArAVmJLyejLwWi4XZxhGaZDvqsdZwJeBj6tql0+zPwLHicjficho4GLg5/n0axhGccl31eP7wATgYRF5RkSWQf/ao66x87PAQ8BG4C5V3ZDj+ZfneX2lin2u8qNSP1tOn0u8ZwuGYRiHMM9MwzCyYkJhGEZWSloocnURL0dE5EIR2SAiCREp+2W3SnXTF5FbRWR7pfnziMgUEfmNiGx0/w8XZ2pf0kJBDi7iZcxzwBzgseG+kHypcDf924CzhvsiCkAP8EVVnQa8H/jnTH+zkhaKHF3EyxJV3aiqm4b7OgKiYt30VfUxYNdwX0fQqOrrqvon9/lbOCuSk/zal7RQpHEZ8OBwX4ThiZebvu8/nVFaiEgj8B7gKb82QcZ6DIkAXMRLllw+W4UwKDd9o3QQkfHA3cDnVfVNv3bDLhQBuIiXLNk+WwVhbvpliIhU4YhEXFXvydS2pKceObqIG8OPuemXGSIiwA+Bjar63WztS1oo8HERrwRE5HwR2QrMBO4XkYeG+5qGSp5u+iWNiNwOPAGcICJbReTy4b6mgPggMB/4iHtvPSMi5/g1NhduwzCyUuojCsMwSgATCsMwsmJCYRhGVkwoDMPIigmFYRhZMaEwDCMrJhSGYWTl/wOIxIYVKkm3QgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae7c2b8908>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae5fb4e4e0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae7c29f908>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae7c954630>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae5fadae80>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae5fa19eb8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae7c61f828>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae5fdae4e0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import scipy.signal as sig\n",
    "from numpy import linalg as LA\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "import imageio\n",
    "# import visvis as vv\n",
    "\n",
    "omega_set = [0, 1/1000, 1/900, 1/800, 1/500, 1/100]\n",
    "omega_set = [1/100]\n",
    "snr_set = [5,10, 15, 20, 25, 30,35,40,45 ,50,0]\n",
    "# snr_set = [0, 50]\n",
    "\n",
    "print(channel)\n",
    "\n",
    "prefix = 'multi_tap/'\n",
    "\n",
    "for k in range(len(omega_set)):\n",
    "    filenames=[]\n",
    "    filenames2=[]\n",
    "    for snr in snr_set:\n",
    "\n",
    "    #     max_omega = 1/5000\n",
    "        # max_omega = 0\n",
    "        max_omega = omega_set[k]\n",
    "\n",
    "        preamble_cfo, preamble_channel, preamble_noisy, data_noisy = make_data(preamble_orig, data_orig, \n",
    "                                                                               snr, max_omega, channel)\n",
    "        \n",
    "        corrected_preamble, est_omega = net3.vis_net(preamble_orig,preamble_noisy,\n",
    "                                          np.ones((num_preambles,1))*max_omega,\n",
    "                                          preamble_channel)\n",
    "        \n",
    "        # rotate the data accroding to CFO est_omega\n",
    "        corrected_data = rotate_data(est_omega, data_noisy)\n",
    "        \n",
    "        \n",
    "        \n",
    "        t = np.linspace(0,np.pi*2,100)\n",
    "        plt.plot(np.cos(t), np.sin(t), linewidth=1, color='g')\n",
    "        plt.gca().set_aspect('equal', adjustable='box')\n",
    "        \n",
    "        pre = 4\n",
    "\n",
    "#         for pre in range(1):\n",
    "        for j in range(1,data_length):\n",
    "            c = check_color(data_orig[pre,:,:],j)\n",
    "\n",
    "            plt.plot(data_noisy[pre,j,0], data_noisy[pre,j,1],color=c, marker = 'o')\n",
    "\n",
    "#                 x1 = preamble_channel[pre,j,0]\n",
    "#                 y1 = preamble_channel[pre,j,1]\n",
    "#                 plt.plot(x1,y1,color=c,marker='x',markersize=10)\n",
    "\n",
    "        plt.axis([-2, 2, -2, 2])\n",
    "        if snr==0:\n",
    "            plt.title('SNR is infinity'+'\\n CFO Rate is '+str(max_omega))\n",
    "        else:\n",
    "            plt.title('SNR is '+str(snr)+'\\n CFO Rate is '+str(max_omega))\n",
    "\n",
    "        file_save = 'cfo_data_vis/'+prefix+'snr_' + str(snr)+ '/cfo_' + str(k)+'.png'\n",
    "        plt.savefig(file_save)\n",
    "        # plt.plot(x1,y1,'bo')\n",
    "        plt.show()\n",
    "        filenames.append(file_save)\n",
    "    \n",
    "        t = np.linspace(0,np.pi*2,100)\n",
    "        plt.plot(np.cos(t), np.sin(t), linewidth=1, color='g')\n",
    "        plt.gca().set_aspect('equal', adjustable='box')\n",
    "    \n",
    "#         for pre in range(1):\n",
    "        for j in range(1,data_length):\n",
    "            c = check_color(data_orig[pre,:,:],j)\n",
    "\n",
    "            plt.plot(corrected_data[pre,j,0], corrected_data[pre,j,1],color=c, marker = 'o')\n",
    "\n",
    "#                 x1 = preamble_channel[pre,j,0]\n",
    "#                 y1 = preamble_channel[pre,j,1]\n",
    "#                 plt.plot(x1,y1,color=c,marker='x',markersize=10)\n",
    "\n",
    "        plt.axis([-2, 2, -2, 2])\n",
    "        if snr==0:\n",
    "            plt.title('SNR is infinity'+'\\n CFO Rate is '+str(max_omega))\n",
    "        else:\n",
    "            plt.title('SNR is '+str(snr)+'\\n CFO Rate is '+str(max_omega))\n",
    "\n",
    "        file_save = 'cfo_data_vis/'+prefix+'corr_snr_' + str(snr)+ '/cfo_' + str(k)+'.png'\n",
    "        plt.savefig(file_save)\n",
    "        # plt.plot(x1,y1,'bo')\n",
    "        plt.show()\n",
    "        filenames2.append(file_save)\n",
    "\n",
    "    images = []\n",
    "\n",
    "    for filename in filenames:\n",
    "        images.append(imageio.imread(filename))\n",
    "\n",
    "    gif_name = 'cfo_data_vis/'+prefix+'cfo_'+str(k)+'.gif'\n",
    "    imageio.mimsave(gif_name, images, format='GIF', duration=1)\n",
    "    \n",
    "    images = []\n",
    "\n",
    "    for filename in filenames2:\n",
    "        images.append(imageio.imread(filename))\n",
    "\n",
    "    gif_name = 'cfo_data_vis/'+prefix+'corr_cfo_'+str(k)+'.gif'\n",
    "    imageio.mimsave(gif_name, images, format='GIF', duration=1)\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(10, 40, 2)\n"
     ]
    }
   ],
   "source": [
    "print(corrected_preamble.shape)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
